오류가 발생했습니다. 문자열에서 텍스트로 열을 입력하려고하면 Laravel의 마이그레이션 기능이 사용됩니다.이전 컬럼 변경 유형은 어떻게됩니까?
파일 : {data_time} _change_db_structure.php
public function up()
{
Schema::table('service_request_type', function (Blueprint $table) {
$table->dropIndex(['sro_key_group']);
$table->text('sro_key_group')->change();
$table->renameColumn('sro_key_group', 'tags');
});
}
이 테이블 파일을 orginal 한 마이그레이션 생성된다.
public function up()
{
Schema::create('service_request_type', function (Blueprint $table) {
$table->engine = 'InnoDB';
...
$table->string('sro_key_group', 100)->nullable()->index();
...
});
}
오류가 발생했습니다.
[를 분명히 \ 데이터베이스 \의 QueryException]
SQLSTATE [42000] : 구문 오류 또는 액세스 위반 : 1170 BLOB/TEXT 열 키 길이 없이 키 명세서에서 사용되는 'sro_key_group'(SQL : ALTER TABLE의 service_request_type CHANGE sro_key_group SRO _key_group 텍스트의 DEFAULT NULL의 부씩 utf8_unicode_ci)[Doctrine\DBAL\Driver\PDOException]
SQLSTATE [42,000] : 구문 오류 또는 액세스 위반 : 1,170 BLOB/TEXT 열없이 키 명세서에서 사용되는 'sro_key_group' 키 길이
[PDOException]
SQLSTATE [42000] : 구문 오류 또는 액세스 위반 : 1170 BLOB/TEXT 열 키 길이
무슨 일없이 키 명세서에서 사용되는 'sro_key_group'? 그리고 이미 내 composer.json
에 doctrine/dbal
을 설치합니다.
복수 색인에서'sro_key_group'입니까? – patricus
@patricus'sro_key_group'은 다중 인덱스가 아닙니다 – ThunderBirdsX3
@ ThunderBirdsX3이 부분을 참조하십시오 http://stackoverflow.com/questions/1827063/mysql-error-key-specification-without-a-key-length –