기존 테이블 열에 null 허용 속성을 추가하는 Laravel 마이그레이션
P粉674757114
2023-09-05 12:58:02
<p>저는 Laravel 10에서 작은 개인 프로젝트를 작성하기 시작했습니다. 제가 겪은 문제는 다음과 같습니다.</p>
<올>
<li>외래 키 UUID(role_id)가 있는 사용자 테이블이 있습니다. </li>
<li>테이블을 삭제하지 않고 이 열에 null 허용 속성을 추가하고 싶습니다. </li>
<li>변경을 위해 새 이전을 만들었습니다. </li>
<li>doctrine/dbal 패키지는 (이론적으로) 열을 변경하기 위해 설치됩니다. </li>
<li>이전에서 내 코드는 다음과 같습니다.</li>
</ol>
<pre class="brush:php;toolbar:false;">공개 함수 up(): 무효
{
Schema::table('users', function (청사진 $table) {
$table->foreignUuid('role_id')->nullable()->constrained('roles')->change();
});
}
/*** 마이그레이션을 되돌립니다.*/
공개 함수 down(): 무효
{
Schema::table('users', function (청사진 $table) {
$table->foreignUuid('role_id')->nullable(false)->constrained('roles')->change();
});
}</pre>
<p>하지만 php artisan migration을 실행하면 다음 오류가 발생합니다. - SQLSTATE[42S21]: Column 이미 존재합니다: 1060 Duplicate columns name 'role_id' (Connection: mysql, SQL: alter table users add role_id char(36 ) 없는). </p>
<p>열을 올바르게 수정하는 방법에 대한 제안을 주시면 감사하겠습니다. </p>
다음을 시도해 볼 수 있습니다:
으아악또는 원본 SQL 문을 사용할 수도 있습니다.
으아악