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

ob_startを使ったバッファリング出力

先日var_dumpの結果をログに出力したいときに検索すると下記のようなコードを書けばよいということがわかりました。

ob_start …

no image

HTMLの画像化について

7月にHTMLを画像化する処理なんてものをやりました。 コード自体は複雑なことはなかったんですが、新規で覚えることがそこそこあったので、メモしておきます。 Contents1 html2canvas1 …

no image

heroku+cakePHPによるメール送信

herokuに作ったアプリでメール送信機能を実装したのでその時のメモを。 まずメール送信自体はmb_send_mailなどではなく、SendGridというアプリを使います。 使い方ですが、heroku …

no image

php5.6のインストール+cake3でのbake

cake3を動かしたい場合、PHP5.4以上でないと動きません。 2016年1月現在、CentOS6でyumでPHPをインストールする場合、php5.3ですので、5.4以上を入れる場合、別のリポジトリ …

no image

エラーハンドリング

エラーが起きた時にPHPだと画面に出ますが(出ない場合は画面が白くなります)、これを検知し、ログに吐いたり任意の処理をできるのがエラーハンドリングです。 フレームワークなどにはほぼこの仕組みが内在して …

アーカイブ