iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
0

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 登入

這裡為了支援一下比較不熟的朋友,我把大概的流程寫一下

  1. 打開wagon中的UwAmp.exe把apache跟mysql運作起來
  2. 開啟cmder資料夾下的cmder.exe 輸入
  3. php artisan make:migration create_users_table
  4. 之後輸入php artisan migrate
    應該就可以囉~

如果遇到error 1045的部分
我是有把.env文件和database.php的設定檢查了一次以及登入phpmyadmin建立資料庫~並且把資料庫名稱也更新回那兩個檔案中。


上一篇
DAY15: database配置
下一篇
DAY17: 數據填充
系列文
從0開始-30天摸索laravel31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言