亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Artisan::call('migrate') 陷入列重命名中

Artisan::call('migrate') 陷入列重命名中

PHP
不負相思意 2023-11-03 20:28:39
我在當前正在進行的項目中出現了奇怪的行為。雖然我的所有遷移都可以通過命令行正常工作,但php artisan migrate它們并不通過 Artisan 命令運行。目標是旋轉一個新的數據庫并在那里運行遷移,因此我該部分的代碼如下所示: \DB::statement("CREATE DATABASE TESTDB");\DB::disconnect('mysql');\Config::set('database.connections.mysql.database', 'TESTDB');\DB::connection('mysql')->reconnect();\Artisan::call('migrate',    [        '--database' => 'mysql',        '--path'     => 'database/migrations'    ]);數據庫已成功創建,因此沒有問題,并且遷移開始運行,但在與重命名列(聲稱該列不存在)有關的遷移中總是失敗。錯誤信息“表上沒有名稱為“parent_version_id”的列但該專欄仍然存在,只是沒有重命名。重命名遷移線:    $table->renameColumn('parent_version_id', 'child_version_id');如果我刪除此行,遷移將運行(當然不會重命名它將僅通過的列),并且在下一次重命名遷移中將失敗。請記住,如果我手動更改環境文件中的數據庫并運行遷移,它們將運行順利,沒有任何問題,但我希望動態創建和設置它,這就是我動態切換數據庫的原因。
查看完整描述

1 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

顯然,修復是替換 1 行代碼。

代替 :

\DB::connection('mysql')->reconnect();

用過的:

\DB::purge('mysql');

這似乎也刪除了與學說相沖突的舊緩存。


查看完整回答
反對 回復 2023-11-03
  • 1 回答
  • 0 關注
  • 152 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號