第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

php artisan migrate 命令如何使用 Connection.php 文件?

php artisan migrate 命令如何使用 Connection.php 文件?

PHP
犯罪嫌疑人X 2023-08-19 10:35:25
我正在嘗試修復 Laravel 項目構建中的錯誤,并想了解 php artisan migrate 命令到底完成了哪些步驟。該項目使用我的自定義包。我在包中創(chuàng)建了一個遷移,它向現(xiàn)有表添加了一個新列:? ? public function up()? ? {? ? ? ? Schema::table('products', function (Blueprint $table) {? ? ? ? ? ? $table->boolean('is_good_product')->default(0);? ? ? ? });? ? }? ? public function down()? ? {? ? ? ? Schema::table('products', function (Blueprint $table) {? ? ? ? ? ? $table->dropColumn('is_good_product');? ? ? ? });? ? }然后我將標簽放入我的項目composer.json文件中的包版本中'package: dev-master#tag-number'并運行 Composer 更新包來更新 .lock 文件。3.1. 如果我在本地運行“php artisan migrate”命令,我會看到新的遷移運行并創(chuàng)建所需的列。3.2. 但是在遠程階段服務器上構建分支會出現(xiàn)以下錯誤。SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_good_product' in 'where clause' (SQL: select `name` from `products` where `is_good_product` = 1)??我在嘗試遷移、回滾、刷新、截斷數(shù)據(jù)庫時看到此錯誤。只有手動創(chuàng)建列才能幫助我進行回滾然后遷移。為什么 Connection.php 文件正在尋找此列?包的遷移是否已開始但尚未完成?或者還會發(fā)生什么?[編輯]換句話說 - 為什么“artisan migrate”命令抱怨新添加的遷移文件的未知列?(如果應該運行它并添加列)。如果遷移未運行(因為未創(chuàng)建列),Connection.php 文件如何了解該列?
查看完整描述

2 回答

?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

經過深入研究,我找到了遷移命令不起作用的原因。問題出在我的存儲庫的構造函數(shù)之一中,它調用了使用該列的函數(shù)。我不知道 Laravel 在運行遷移之前會以某種方式在存儲庫中運行源代碼。我仍然想找出 migrate 命令完成的步驟。



查看完整回答
反對 回復 2023-08-19
?
Helenr

TA貢獻1780條經驗 獲得超4個贊

解決您的問題的快速方法是:


public function down()


{    

   if (Schema::hasColumn('products', 'is_good_product'))


    {


        Schema::table('products', function (Blueprint $table)


        {


            $table->dropColumn('is_good_product');


        });


    }

}

您收到 Connection.php 錯誤的原因是因為它沒有找到刪除它的列。


查看完整回答
反對 回復 2023-08-19
  • 2 回答
  • 0 關注
  • 127 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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