開発ブログ

株式会社Nextatのスタッフがお送りする技術コラムメインのブログ。

電話でのお問合わせ 075-744-6842 ([月]-[金] 10:00〜17:00)

  1. top >
  2. 開発ブログ >
  3. PHP >
  4. フレームワークを使わないでmigrationの導入②
no-image

フレームワークを使わないでmigrationの導入②

こんにちは。
ニシザワです。

今回は前回の続き、フレームワークを使わないでmigrationを使う方法を説明します。
前回記事はこちら

使うのはphinxのライブラリです。
導入は前回記事をご覧ください。

マイグレーションの作成

プロジェクトルートで
php vendor/bin/phinx create Users
テーブル名がアッパーキャメルケースに注意しましょう。
入力後、migrationsディレクトリに下記のようにclassが作成される
class Users extends AbstractMigration
{
    public function change()
    {

    }
}
これで準備完了です。
後は、changeメソッドの中に必要なフィールドを書いていきます。
サンプル
class Users extends AbstractMigration
{
    public function change()
    {
        $table = $this->table('users');
        $table->addColumn('name', 'string', [
            'default' => null,
            'limit' => 255,
            'null' => true,
            'comment' => 'ユーザー名',
        ]);
        $table->addColumn('created', 'timestamp', [
            'default' => 'CURRENT_TIMESTAMP',
            'comment' => '作成日',
        ]);
        $table->create();
    }
}
これで、ユーザーテーブルができます。
最後にコマンドで下記の操作で完了です。
php vendor/bin/phinx migrate
これでテーブルが作成されます。

おまけコマンド

元に戻したい時はロールバックできます。
php phinx rollback -e development
ある時間まで戻したい場合は『-t』オプションで時間を指定すればそこまで戻せます。


次週はseederについて書きます。
では、次週

追記
続きの記事書きました。
フレームワークを使わないでmigrationの導入③
  • posted by Nextatスタッフ
  • PHP
TOPに戻る