既存のテーブル列に null 許容属性を追加するための Laravel 移行
P粉674757114
P粉674757114 2023-09-05 12:58:02
0
1
518
<p>Laravel 10 で小さな個人プロジェクトを書き始めました。私が遭遇した問題は次のとおりです: </p> <ol> <li>外部キー UUID (role_id) を持つユーザー テーブルがあります。 </li> <li>テーブルを削除せずに、この列に null 許容属性を追加したいと考えています。 </li> <li>変更を加えるために新しい移行を作成しました。 </li> <li>doctrine/dbal パッケージは、(理論的には) 列を変更するためにインストールされます。 </li> <li>移行時のコードは次のとおりです: </li> </ol> <pre class="brush:php;toolbar:false;">パブリック関数 up(): void { Schema::table('users', function (Blueprint $table) { $table->foreignUuid('role_id')->nullable()->constrained('roles')->change(); }); } /*** 移行を逆にします。*/ パブリック関数 down(): void { Schema::table('users', function (Blueprint $table) { $table->foreignUuid('role_id')->nullable(false)->constrained('roles')->change(); }); }</pre> <p>しかし、phpArtisan Migrate を実行すると、次のエラーが表示されます - SQLSTATE[42S21]: Column selected: 1060 Duplicate columns name 'role_id' (Connection: mysql, SQL: alter table users add role_id char(36 )ヌル)。 </p> <p>列を正しく変更する方法についての提案をいただければ幸いです。 </p>
P粉674757114
P粉674757114

全員に返信(1)
P粉068486220

次のことを試すことができます:

リーリー

または、元の SQL ステートメントを使用することもできます:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート