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

SQL結合 サブクエリに関して

今回はサブクエリに関してです。 もちろんSQL実践入門を読み進めています。 SQL上ではテーブル、ビュー、サブクエリというのは機能的にはそれほど変わらず主にパフォーマンスの点で違いがでてきます。 以下 …

no image

サブクエリ 分析関数の代替案として

今回は分析関数系のネタです。 以前にも分析関数を少し学習しましたがMySQLにはないので、サブクエリを使い書くことになります。 下記のような入出金講座があるとします。 Accounts prc_dat …

no image

ECCUBE3ディレクトリ構成

ECCUBE3のディレクトリ構造に関して。 自分用 自分用メモです。 設定情報 /app/config/eccube 定数 /src/Eccube/Common/Constant ログ /app/lo …

no image

論理設計のアンチパターン その2

今回は論理設計のアンチパターンの続きです。 今までに比べると何も意図がないというものではなく、パフォーマンスを考えて設計されているようなものが多いです。 ただし、中には絶対に許されないタイプのものもあ …

no image

サブクエリ 移動平均など

前回の応用編です。 日付、入出金、残高はできましたが、ここからさらに、現在のレコードから3行以内(3行あれば3行、なければそれ以内でできるだけ)のレコードの合計値を出す計算を考えます。 結果だけ先に書 …

アーカイブ