skillup

技術ブログ

Database PHP

cakePHPでのマイグレーション

投稿日:2015年11月26日 更新日:

開発を続けているとデータベースのカラムの構造が変更するってことはしょっちゅうですが、管理がいい加減だとメンバー間でテーブルの構造が変わっていたり、本番と開発で違ってくるなどのトラブルが続出します。

そういったテーブルの構造を管理する手法の1つに「マイグレーション」というものがあります。

まだ学習段階ですが、データベースのバージョン管理のようなものかなという気がします。

cakePHPで今回そのマイグレーションに取り組んだのでメモをしておきます。

状況としてすでにリモートのサーバーにソースとDBがあり、ローカルのDBの変更を反映させたい状況だとします。

インストール

プロジェクトフォルダ直下(app)で

と入力。

と表示されればOKです。

マイグレーションの作成

最初はまだデータベースの履歴自体を登録していないので、その登録作業を行います。

YesNo型式でいろいろ聞かれるが全てYesでOK

と聞かれるが、これはマイグレーション(1つの履歴情報)のファイル名を聞かれています。

ここで入力してあげると新しいファイルがConfig/Migration直下に作成されてます。

マイグレーションの見方

と入力してあげるとバージョン名がでる。

またスキーマ(ファイル情報を格納しておくようなファイル?)の更新も合わせて行う


のようなメッセージが出力されます。

Config/Schemaの下にschema.phpというファイルが存在しています。

リモートサーバーへの反映

リモートサーバーにログインし、

と入力。

先ほど登録したマイグレーションの履歴情報が出力され、一番最後に下記のようなメッセージがでます。

ここで番号を入力してあげればOK

ちなみに今のデータベースのバージョン情報を見たい場合は

で見れます。ここでデータベースのバージョンが上がっていればOKです。

まだわからないことが山ほどありますが、とりあえず最初はこんなもんで。

参考リンク

Git submodule の基礎

CakePHP2系でマイグレーションを利用する方法

-Database, PHP
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

PHPでのコンソール入力に関して

PHPはほとんどの場合、ブラウザでURLをたたいてWEBサーバーから呼び出されるパターンがほとんどです。 ところが、コンソールから使いたい場合などもあるでしょう。 コンソールから入力する場合、なんらか …

no image

PHPでのデバッグ

基本的なことですが、PHPのdebugについておさらいを。 Contents1 一般的なデバッグツール1.1 var_dump1.2 xdebug1.3 フレームワークのdebugツール1.4 dd1 …

no image

DBの基礎 テーブルとは

CSSを学習したあとはデータベースの学習などを。 参考図書:「達人に学ぶDB設計指南書」基本的にはこれを読んでいきます。が、現状よくわからないところは飛ばしていきます・・・ Contents1 テーブ …

no image

DBUtils活用 その2

以前DBUtilsの活用を書きましたが、他の使い方がわかったのでメモ 以前はSelectでList<エンティティ>を取得したのですが、List<Map>でも取得できます。 ソー …

no image

集合としてのSQL

今まで何度かSQLが集合ということを扱ってきました。 今回はそれがよくわかる例を。 実務ではあまりないと思うのですが、集合をイメージしやすい例題として、2つのテーブルが全く同じケースを考えます。 下記 …

アーカイブ