Magento2.3 更新介紹 – 阿不是阿,你要改資料表你要先講 (二)
繼上篇 Magento 2.3 更新介紹 – 阿不是阿,你要改資料表你要先講 以來,我們已經可以將舊有的install/upgrade Schema以及install/upgrade Data轉換成db_schema.xml和data patch了。
接下來我們可以來測試我們所產出來的db_schema是否會有問題,使用以下command:
bin/magento setup:install --dry-run=1 bin/magento setup:upgrade --dry-run=1
dry run 會產生安裝過程中的DDL SQL語句在 <Magento_Root>/var/log/dry-run-installation.log,這些未來可以當作優化效能的依據。
如果確認以上沒有問題後,接下來要正式安裝/升級了。
// 安全模式 bin/magento setup:install --safe-mode=1 bin/magento setup:upgrade --safe-mode=1 // rollback (僅限setup:upgrade) bin/magento setup:upgrade --data-restore=1
可以看到不管是安裝或升級都有安全模式可以選用,如果執行中使用到破壞性操作 (DO) 的SQL語法,使用後可以在Magento_root/var/declarative_dumps_csv/底下,看到該次安裝/升級前資料的備份檔 (.cvs)
以下是破壞性操作的定義:
破壞性操作(DO) -導致數據刪除或數據損壞的SQL DDL操作。以下操作具有破壞性:
- 刪除表格
- 刪除欄位
- 減少欄位長度
- 改變欄位精度
- 更改欄位類型
而Rollback必須注意的是,rollback之前必須移除掉原先的Install/UpgradSchema.php再跑指令。
下一篇將為大家說明如何配置我們自訂的db_schema.xml,敬請期待!
我要留言