migration就是把跟資料庫有關的操作,都轉化成程式碼,透過artisan來執行並產生預期想做的事情。
白話就是把原本初期建置資料庫表的相關事情,都寫好function放著,需要的時候就執行他。
下面就開始來玩看看囉!!!!
打開cmd,如果是使用wagon的話,是打開cmder資料夾下的cmder.exe
記得喔~artisan指令都需要到laravel的專案目錄下輸入!
使用artisan指令php artisan make:migration create_users_table
這時候可以到www\專案\database\migrations下看到剛剛建立的檔案囉
class CreateUsersTable extends Migration
{
public function up()
{
Schema::create(‘users’, function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
}
public function down()
{
Schema::drop(‘users’’);
}
}
schema::create 建立資料表
schema::drop 刪除
然後輸入php artisan migrate
就可以登入Phpmyadmin看看囉~
資料表欄位定義
$table->increments();
$table->integet();
$table->string();
$table->text();
$table->date();
$table->dateTime();
$table->timestamp();
->nullable()
....等
從上面的範例可以看到有兩個function,分別為up跟down,而從程式碼內容大致上就可以了解其作用是什麼了。
之後也是需要靠artisan來操作遷移
執行所有未執行遷移php artisan migrate
返回上一次的遷移php artisan migrate:rollback
返回所有遷移php artisan migrate:reset
返回所有遷移並且再執行一次php artisan migrate:refresh
查看狀態php artisan migrate:status
使用遷移有什麼好處呢? 如果你在開發中需要跟資料庫建置有關,都只需要利用artisan就可以達成,而不用去重複下SQL語法,自動永遠比手動快阿!!!!
另外就是如果今天你的專案需要給別人使用,此時他也可以快速的建構出跟你一樣的資料庫,而且還可以一目了然做了哪些事情。
備註:
如果使用的也是wagon的話,都沒改設定的情況下
Phpmyadmin登入時要注意
伺服器是localhost:33060,然後可用 root/root 登入
這裡為了支援一下比較不熟的朋友,我把大概的流程寫一下
如果遇到error 1045的部分
我是有把.env文件和database.php的設定檢查了一次以及登入phpmyadmin建立資料庫~並且把資料庫名稱也更新回那兩個檔案中。