iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0
Modern Web

Laravel 30天速成筆記系列 第 10

【Day10】Migration 進階篇

  • 分享至 

  • xImage
  •  

Day 8 我們學了 Migration 的基礎,今天來進一步掌握 修改、刪除欄位版本控制技巧


修改欄位型態

Laravel 修改欄位需要安裝套件:

composer require doctrine/dbal

假設要將 price 欄位從 integer 改成 decimal:

php artisan make:migration change_price_type_in_products_table --table=products

在 up() 中:

$table->decimal('price', 8, 2)->change();

執行:

php artisan migrate

刪除欄位

$table->dropColumn('description');

同樣在 Migration 中加上後執行php artisan migrate 即可


查看 Migration 狀態

php artisan migrate:status

可以看到每個 Migration 是否已執行,以及批次編號(batch)


版本控制觀念

Laravel 在執行 Migration 時會記錄批次(batch):

  • 同一次 php artisan migrate 會有相同批次號碼
  • rollback 會一次回滾該批次的所有 Migration

最佳實務

  • 開發新功能時用新的 Migration 檔,不要直接改舊檔
  • 版本控制系統(Git)要一併提交 Migration
  • 團隊協作時先 git pull 再 php artisan migrate

小結

  • 進階 Migration = 修改欄位、刪除欄位、查看狀態
  • 善用版本控制,避免資料表結構不同步

上一篇
【Day9】Rollback 與 Migration 安全修改技巧
系列文
Laravel 30天速成筆記10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言