11スキーマの管理とマイグレーション
22################################
33
4- スキーマシェルはスキーマオブジェクト、SQLダンプを作成したり、スナップショットを作成、保存する機能を提供します。
4+ スキーマシェルはスキーマオブジェクト、SQLダンプを作成したり、スナップショットを作成、
5+ 保存する機能を提供します。
56
67スキーマファイルの作成と使用方法
78================================
@@ -30,7 +31,8 @@ schema.php の中身に沿ってテーブルが再構成されるはずです。
3031 $ Console/cake schema dump --write filename.sql
3132
3233ここで filename.sql には SQL ファイルとして出力したいファイル名を指定します。
33- filename.sql を省略すると、SQL のダンプはコンソールへ出力されますが、ファイルへ出力されることはありません。
34+ filename.sql を省略すると、SQL のダンプはコンソールへ出力されますが、
35+ ファイルへ出力されることはありません。
3436
3537CakeSchema のコールバック
3638==========================
203205
204206テーブルキー `indexes `
205207======================
208+
206209キー名 `indexes ` は、フィールド名の代わりにテーブル配列の中に置きます。
207210
208211column
@@ -222,9 +225,9 @@ column
222225 'indexes' => array(
223226 'AB_KEY' => array(
224227 'column' => array(
225- 'a_id',
228+ 'a_id',
226229 'b_id'
227- ),
230+ ),
228231 'unique' => 1
229232 )
230233 )
@@ -315,18 +318,23 @@ CakePHP のスキーマシェルを使ったマイグレーション
315318スキーマシェルは、現状のデータベースと更新元スキーマファイルの差分を表した
316319``ALTER `` 文を実行してもよいかどうか確認を促してくるでしょう。
317320
318- ``--dry `` コマンドを付けることで、実際にファイルを更新することなく実行結果だけを確認することもできます(dry-run)。
321+ ``--dry `` コマンドを付けることで、実際にファイルを更新することなく実行結果だけを
322+ 確認することもできます(dry-run)。
323+
324+ .. note ::
325+
326+ 2.x のスキーマ生成は外部キー制約を処理しないことに注意してください。
319327
320328ワークフローの例
321329================
322330
323331スキーマの生成とコミット
324332------------------------
325333
326- バージョン管理を適用しているプロジェクトでは、Cake スキーマを以下のように使うことになるでしょう 。
334+ バージョン管理を適用しているプロジェクトでは、cake schema を以下のように使うことになるでしょう 。
327335
3283361. データベース内のテーブルを生成あるいは変更
329- 2. Cake スキーマを実行し 、データベースの内容を全てエクスポート
337+ 2. cake schema を実行し 、データベースの内容を全てエクスポート
3303383. 生成または更新された schema.php のコミット ::
331339
332340 $ # 一度データベースを更新した後で
@@ -346,7 +354,7 @@ CakePHP のスキーマシェルを使ったマイグレーション
346354リポジトリの最新の変更を取り入れ、データベース構造の変更点を見つけるには
347355以下のようにします。
348356
349- 1. Cake スキーマを実行し 、データベースを更新してください ::
357+ 1. cake schema を実行し 、データベースを更新してください ::
350358
351359 $ git pull
352360 $ Console/cake schema create
@@ -357,7 +365,7 @@ CakePHP のスキーマシェルを使ったマイグレーション
357365ロールバック
358366------------
359367
360- 現在のところ、Cake スキーマはデータベースの更新の取り消しや復元が必要な操作をサポートしていません 。
368+ 現在のところ、cake schema はデータベースの更新の取り消しや復元が必要な操作をサポートしていません 。
361369
362370より具体的には、一度生成したテーブルを自動的に削除することができないようになっています。
363371
0 commit comments