source

MariaDB에서 Mysql로 마이그레이션 - 중복 제약 조건 이름

gigabyte 2022. 10. 29. 09:15
반응형

MariaDB에서 Mysql로 마이그레이션 - 중복 제약 조건 이름

MariaDB 데이터베이스를 MySQL로 마이그레이션하려고 합니다.이 작업을 위해 다음 명령을 작성했습니다.mysqldumpMySQL로 Import를 시도하고 있습니다.(이는 공식 도커 컨테이너를 사용하여 이루어집니다.)mysql:latest).

MySQL로 Import할 때 다음 오류가 발생합니다.

ERROR 3822 (HY000) at line 172: Duplicate check constraint name 'CONSTRAINT_1'.

제가 봤을 때mysqldump왜 이런 일이 일어나는지 알 것 같아요데이터베이스의 모든 부울 열에는 다음과 같은 제약 조건이 있습니다.

CONSTRAINT `CONSTRAINT_1` CHECK (`bool_col_1` in (0,1))
CONSTRAINT `CONSTRAINT_2` CHECK (`bool_col_2` in (0,1))
CONSTRAINT `CONSTRAINT_3` CHECK (`bool_col_3` in (0,1))

이러한 제약은 내가 명시적으로 만든 것이 아니라 Flask-SQ에 의해 암묵적으로 만들어졌다.Lalchemy(내 생각엔)

제약 조건 이름이 다음 문자로 시작하는 방법에 주목하십시오.CONSTRAINT_1문제는 각 테이블이 제약조건 이름을 다음부터 증가시키기 시작한다는 것입니다.CONSTRAINT_1따라서 두 번째 테이블을 작성하려고 하면 오류가 발생합니다.

데이터베이스의 무결성을 유지하면서 이 문제를 가장 잘 해결할 수 있는 방법을 알고 싶습니다.

언급URL : https://stackoverflow.com/questions/62046913/migrating-from-mariadb-to-mysql-duplicate-constraint-name

반응형