プログラミング学習記録#18 マイグレーション

マイグレーション


データベースのバージョン管理機能

アプリケーションのデータベースを定義および共有することができる


●マイグレーションファイルの生成


php artisan make:migration ファイル名

database/migrationsディレクトリに配置される

マイグレーションファイル内のupメソッドの中に記述する

===========================================================================

Schema::create('users', function (Blueprint $table) {
           $table->id();
           $table->string('name');
           $table->string('email')->unique();
           $table->timestamp('email_verified_at')->nullable();
           $table->string('password');
           $table->rememberToken();
           $table->timestamps();
       });
       
============================================================================


       
       table->カラム型('カラム名'); // カラム設定
       

画像1

生成できるカラムタイプ

$table->boolean(カラム名);  // BOOLEAN型

$table->char(カラム名, サイズ);   // 文字列カラム、第二引数で長さを指定 

$table->date(カラム名);  // DATE型 日付カラム

$table->dateTime(カラム名); // 日時カラム

$table->id();  //  idカラム 

$table->integer(カラム名); // 数値カラム

$table->softDelete(); // deleted_atカラム追加

$table->text(カラム名, サイズ); // 文字列カラム

$table->timestamp();  //  created_at , updated_atカラム追加

カラムに属性を与えるメソッド

->nullable()  // カラムにNULLを許可する

->default(デフォルト値) // カラムのデフォルト値を指定

->unsigned()  // 数値型のカラムを符号なしにする

インデックスの付与と削除を行うメソッド

->primary(カラム名) // プライマリーキーを付与

->unique(カラム名)  // ユニークキーを付与する

->index(カラム名) // インデックスを付与

->dropPrimary(プライマリーキー名) // プライマリーキーを削除

->dropUnique(ユニークキー名)  // ユニークキーを削除

->dropIndex(インデックス名) // インデックスを削除


マイグレーションの実行


ファイルを作成したら

php artisan migrate

を実行してデータベースにテーブルが作成される


ロールバック


マイグレーションで作成・更新したテーブルを元に戻したり削除する

php artisan migrate:rollback

を実行すると最新のバッチをロールバックする

--step バッチ番号   // バッチ番号を指定するオプション

バッチの確認はマイグレーションの実行時に作成されるmigrationsテーブルのbatchカラムでできる

画像2


php artisan migrate:reset  // 全てのマイグレーションをロールバック

php artisan migrate:refresh  // 全てのマイグレーションをロールバック後再度マイグレーション実行

php artisan migrate:fresh // データベースからすべてのテーブルを削除したあと、migrateコマンドを実行する


この記事が気に入ったらサポートをしてみませんか?