あちゃまWEB\n >

LaravelのデータベースMigration操作

サーバー運営会社のデータベース設定を参照

	
DB_CONNECTION=mysql
DB_HOST=mysql303.phy.lolipop.lan
DB_DATABASE=LAA1590428-kyum
DB_USERNAME=LAA1590428
DB_PASSWORD=********
	
ローカル環境の場合は
DB_HOST=127.0.0.1 とする
Laravelでデータベースを使用するには migrationコマンド を使用する
php artisan migrate [--path=migratonファイル名]
マイグレーション実行
composer dump-autoload「クラスが見つかりません」エラーが発生したら、migrateコマンドを再発行してみる
php artisan migrate:status 
マイグレーションの状態確認
php artisan migrate:refresh
初期化→再実行(マイグレーションファイル追加でエラーが出た時など)
–path=/database/migrations/XXXX_table
php artisan migrate:refresh  
全テーブル削除 →マイグレーション実行
php artisan migrate:rollback [--path=migratonファイル名]
直前のマイグレーションをロールバック
php artisan migrate:rollback [--step=n]
ロールバック(戻る位置指定)
php artisan migrate:reset
全マイグレーションをリセット(初期化)
ファイル指定の場合は以下オプションを追加
–path=database\migrations\”ファイル名”_table.php

migrationファイルを指定して コマンドを実行するには

  • (1) 上図のように実行したいmigrationファイルを選択し、右クリック
  • (2) ポップアップメニューから「相対パスをコピー」をクリック
  • (3) コマンドプロンプトで以下を入力
  • php artisan migrate --path=
    
  • (4) 右クリックでコピーしたパス文字列を貼り付けて実行

テーブルの新規作成

マイグレーションファイルの新規作成

全てのmigrationを実行する

php artisan make:migration マイグレーションファイル名 [option]
このコマンドにより
database\migrations\ に
タイムスタンプ(ex. 2025_04_04_111445_)create_マイグレーションファイル名_table.php
が作成される。
ex.\database\migrations/2025_10_21_090844_create_shopcalenders_table.php
しかし、通常はmodelファイルと同時に作成するため make:model が使われる
php artisan make:model マイグレーションファイル名 -m [option]


> php artisan make:model shopcalender -m と入力すると
app\Models\shopcalender.php
database\migrations/2025_10_21_090844_create_shopcalenders_table.php

全てのmigrationを実行する

php artisan make:migration [option]
migrationはファイル名の先頭のタイムスタンプ部(ex. 2025_04_04_111445_XXXXX)の順に実行される
テーブル定義に $table->foreignId( がある場合は対象となるテーブル先に作る必要があるためタイムスタンプ部を書き替える必要がある

特定のmigrationを実行する

php artisan make:migration --path=database\migrations\マイグレーションファイル名.php [option]
option 機能
無し 空のmigration phpを生成
具体的には空の up() / down() 関数が作られる

    public function up(): void {
    }
    public function down(): void {
    }
–create=tests 「tests」というテーブルを作成するphpを生成
具体的には up() / down() 関数に以下の定義が入る

    public function up(): void {
        Schema::create('tests', function (Blueprint $table) {
            $table->id();
            $table->timestamps();
        });
    }
    public function down(): void {
        Schema::dropIfExists('tests');
    }
–table=tests 「tests」というテーブルの構造を変更するphpを生成
具体的には up() / down() 関数に以下の定義が入る

Schema::table('tests', function (Blueprint $table) {
  //
});

特定のテーブルだけを再作成するには

再作成するテーブルを削除

migrationテーブルから 定義を削除

これらを削除したうえで migrationを再実行する
php artisan make:migration --path=database\migrations\2024_12_14_124444_create_reserv_date_table.php

テーブル初期データ(Seeder)の作成

Seederの実行

php artisan db:seed --class=seederファイル名 [option]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

WordPress情報


WEB開発


その他