Laravel5.5 資料庫遷移:建立與修改表
阿新 • • 發佈:2018-12-13
資料庫遷移是資料庫的版本管理,要使用資料庫遷移,需要在.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 方法。