1. 程式人生 > >Laravel5.5 資料庫遷移:建立與修改表

Laravel5.5 資料庫遷移:建立與修改表

資料庫遷移是資料庫的版本管理,要使用資料庫遷移,需要在.env檔案中連線好資料庫(不多說)。laravel本身已經存在user表和password_resets表的遷移了,因此,執行

php artisan migrate

便會在資料庫中建立好user表、password_resets表和migrations表。migrations表是版本記錄表。

命令執行的其實 database\migration 下的遷移檔案。遷移檔案中呼叫的方法會替我們執行資料庫操作(建表)。每個檔案的命名對應遷移建立的時間和遷移的表名稱。migrate命令呼叫up方法。migrate:rollback呼叫down 方法。

現在我們要新增自己的遷移表。

建立遷移

建立資料模型的時候加上 -m ,例如:

php artisan make:model Models/Moment -m

就會在 database/migrations 下看到新建的遷移檔案。開啟檔案,主要有 up 和 down 方法。

  • 當我們執行遷移時,up 方法會被呼叫;
  • 當我們回滾遷移時,down 方法會被呼叫。

建立表

在up方法中,我們編寫建立表的語句:

Schema::create('moments', function (Blueprint $table) {

    $table->increments('id');

    $table->integer('user_id');

    $table->string('title');
    
    $table->string('content');

    $table->timestamps();

});

儲存後執行 php artisan migrate ,會建立5個欄位的article表。

修改表

如果要修改表,不能在原來的遷移檔案中修改,而是要新建遷移檔案:

php artisan make:migration alter_moments_table

 其中 “alert” 代表修改,“moments” 就是要修改的表名,這裡要寫你自己的表名。

在 up 方法中:

Schema::table('moments', function (Blueprint $table) { 
    $table->string('test'); 
});

與建立表的區別是,create 方法改成 table 方法。