Skip to content

Latest commit

 

History

History
68 lines (56 loc) · 2.52 KB

README.md

File metadata and controls

68 lines (56 loc) · 2.52 KB

TiiMigration plugin

CakePHP3(Phinx) の Migration を利用し、view や stored procedure を bake するためのプラグイン。

Requirements

  • CakePHP 3.4+

Installation

現状、composer に対応できていないので、手動でインストールする必要があります。

まず、plugins に、tiichat\migrations フォルダを作成しチェックアウト、または、ダウンロードします。

composer.json の autoload に、"Tiichat\\... の行を追記します。

    "autoload": {
        "psr-4": {
            "App\\": "src",
            "Tiichat\\Migrations\\": "./plugins/tiichat/migrations/src"
        }
    },

ターミナルで、以下コマンドを実行し、オートローダーを再作成します。

> composer dumpautoload

config\bootstrap.php に、プラグインをロードする記述を追記します。

Plugin::load('Tiichat/Migrations');

Usage

まず、マイグレーションファイルの作成ですが、通常の migration と同じ様に、tii_migration コマンドを叩きます。ビューの場合は、ViewBars の様に "View" を頭につける必要があります。ViewBars の場合、view_bars という名前でビューを作成します。ビューも複数形にしておかないと、bake で model など作成する際に、規約違反となってしまうので注意が必要です。

$ROOT$> bin\cake bake tii_migration ViewBars

これで、View のマイグレーションファイルと、DDL ファイルが生成されます。

\config\Migrations
		20170519014643_ViewBars.php
\config\Migrations\ddl
		view_bars_1.ddl

初回の DDL ファイル view_bars_1.ddl の中身は空なので、 作りたいビューの DDL を記述します。ただし、create view view_bars as までは、マイグレーションファイルの方に記述しているので(Drop との整合性を考えてそうしてみました・・)、DDL には、select ... から記述します。

作成したビューに変更が入るときは、再度 bake します。

$ROOT$> bin\cake bake tii_migration ViewBars

すると、

\config\Migrations
		20170519014643_ViewBars.php
		20170519015211_ViewBars.php
\config\Migrations\ddl
		view_bars_1.ddl
		view_bars_2.ddl

こんな感じになるので、view_bars_2.ddl を編集します。

マイグレーションは、普通に実行してあげればOKです。

$ROOT$> bin\cake migrations migrate