0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Laravel マイグレーション

Last updated at Posted at 2022-08-22

マイグレーションとは

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

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

①migrationコマンドを実行

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

php artisan make:migration ファイル名

②生成されたマイグレーションファイルのupメソッドの中に記述していく

public function 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();
       });
}

③マイグレーション実行

migrateコマンド実行でテーブルが生成される

php artisan migrate

カラム作成

生成できるデータ型(一例)

$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:rollback // 最新のbatchをロールバック
--step バッチ番号 // バッチ番号を指定するオプション

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

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

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

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?