Laravel 教學Chapter3 資料庫遷移(Migration)

Migrations(資料庫遷移)是源自於Ruby on Rails的功能。

相較於直接進入到資料庫系統使用 DBMS 修改結構,

使用 Migrations 可以讓我們有記錄地進行資料庫修改。

每次變更會在資料庫中保留一筆 Migration 記錄。

以前在PHP沒有 Migration功能之前,如果你手動修改了資料庫,

那麼你就必須通知其他開發者也進行一樣的修改步驟。

Laravel Migration會將BD schema用程式去撰寫,透過artisan指令去留下這些紀錄。

如果不小心異動到了,也可以用Rollback指令來復原到上一個DB schema版本,

本篇會建立一個簡單的Table,並透過seed的功能去餵一筆紀錄進去。

首先,先設定.env檔案中的DB連線資訊

password

接下來透過artisan指令列建立migration資料

// 建立資料表 migrate
php artisan migrate:install
// 建立檔案到 database\migrations
php artisan make:migration create_user_table

建立schema

user

php artisan migrate

執行migrate指令之後,我們可以在看到MYSQL看到多了一張users資料表,

posttable接下來透過seeder來建立資料充填,

php artisan make:seeder UsersTableSeeder

seeder

在UsersTableSeeder建立一筆資料

user

完成後輸入以下的指令列

composer dump-autoload

php artisan db:seed

php artisan db:seed --class=UsersTableSeeder

就可以看到DB產生一筆紀錄了。

record

最後,備註幾個migrate指令

列出目前所有 Migration 狀態

php artisan migrate:status

執行 Migration

php artisan migrate

恢復上一版本的 Migration

php artisan migrate:rollback

清除所有版本的 Migration

php artisan migrate:reset

清除所有版本的 Migration 並重新執行

php artisan migrate:refresh