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

インメモリデータベース redis

インメモリデータベースのredis(レディース)について。 キャッシュとして以前はmemcachedを使っていましたが、いろいろ多機能ということでredisをちょっと触ってみようかと。 Content …

no image

SQLで数列を扱う

今回はSQLで数列を扱ってみましょう。 例えば下記のような0から9までの数字が書かれている数列があったとして、 これにより連番を作成してみましょう。 digit ——- 0 1 …

no image

データベースアンチパターン・グレーパターンまとめ

本で勉強したものと自分で個人的に経験したことのまとめ Contents1 値渡しと参照渡しの混同2 型の制約が弱い3 変更していいデータ、していけないデータ4 参照系と履歴系のデータを区別する5 リレ …

no image

MySQLのユーザー変更+information_schema.columns

MySQLで行うユーザーの作成について

これですが、一つのデータベースに対して行うとhost内のユーザーすべてが切り替わってしまいます …

no image

JPAまとめ

JPAわけわかんねーと思い、触りはじめてから3か月ぐらいたちます。 いまだに細かい部分はよくわかっていないことは多いのですが、全体像というか何となくどういうものかはわかり始めてきたいのでまとめたいと思 …

アーカイブ