반응형
Larabel 테이블 열 유형을 변경할 수 없습니다.
migrate:fresh를 실행할 수 없습니다.
다음 위치에서 테이블 열을 변경할 때 명령이 실패함:
$table->string('language_id')->default('')->length(255);
대상:
$table->integer('language_id')->unsigned()->default(1)->change();
오류 발생:
SQLSTATE [ 42000 ]:구문 오류 또는 액세스 위반: 1064 SQL 구문에 오류가 있습니다. 'CARTER SET utf8mb4 DEFAULT 1 Not N ULL COLATE' 근처에서 사용할 올바른 구문은 MariaDB 서버 버전에 해당하는 설명서를 참조하십시오.
utf8mb4_unicode_ci
' 행 1 (SQL: ALTER TABLE 사용자가 language_id language_id INT UNSIGNED CHA RACTER SET utf8mb4 DEFAULT 1이 아닌 NULL COLATE)utf8mb4_unicode_ci
)
어떤 도움이나 힌트라도 주시면 감사하겠습니다.
표준 솔루션이 작동하지 않는 경우.다음과 같이 시험해 보십시오.
public function up()
{
DB::statement('ALTER TABLE mytable MODIFY mycolumn INTEGER;');
}
public function down()
{
DB::statement('ALTER TABLE mytable MODIFY mycolumn STRING;');
}
Larabel 문서에 따라 다음 사항이 있습니다.
주의: 열을 변경하기 전에 반드시 composer.json 파일에 교리/dbal 종속성을 추가하십시오.
이거 드셔보세요
Schema::table('your_table_name', function (Blueprint $table) {
$table->unsignedInteger('language_id')->default(1);
});
교리/dbal 필요
composer require doctrine/dbal
새로운 이행 작성과 이 문서 작성
public function up()
{
Schema::table('table_name', function (Blueprint $table) {
$table->integer('language_id')->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('your_table_name', function (Blueprint $table) {
$table->dropColumn('language_id');
});
}
언급URL : https://stackoverflow.com/questions/58818176/cant-change-laravel-table-column-type
반응형
'sourcecode' 카테고리의 다른 글
f는 왜 float 값 뒤에 배치됩니까? (0) | 2022.09.04 |
---|---|
Python의 두 날짜 차이 (0) | 2022.09.04 |
선언된 순서대로 키/값을 유지하는 방법 (0) | 2022.09.04 |
jsdoc에서 "object" 인수를 어떻게 설명합니까? (0) | 2022.09.04 |
JUnit 4 테스트 스위트 (0) | 2022.09.04 |