ERD -> Script export

코딩 고양이·2024년 9월 30일

EXPORT 순서

  1. 만들어 두었던 eer-diagram으로 이동

  2. File - Export - Forward Enginerr SQL CREATE Script...로 이동

  3. 본인 입맛에 맞게 option 선택 후 Next

    **Generate USE statements 누르면 특정 DB명이 포함되어 나오니 너희는 누르면 안됨

  4. 여러개 있는데 우리는 Table을 export

  5. 파일로 저장하거나 복사해서 메모장에 넣어둔 후 작업할 계정내 삽입하면 끝

Option 설명

  1. Generate DROP Statements Before Each CREATE Statement: 각 CREATE 문 전에 기존 객체를 삭제하는 DROP 문 생성

  2. Generate DROP SCHEMA: 스키마와 그 객체를 삭제하는 DROP 명령어 생성

  3. Sort Tables Alphabetically: 테이블을 알파벳 순으로 정렬하여 생성

  4. Skip Creation of FOREIGN KEYS: 외래 키 제약 조건 생성을 건너뛰기

  5. Skip Creation of FK Indexes as well: 외래 키 인덱스 생성을 건너뛰기

  6. Omit Schema Qualifier in Object Names: 객체 이름에서 스키마 이름 생략

  7. Generate USE statements: 특정 데이터베이스를 사용하기 위한 USE 문 생성

  8. Generate Separate CREATE INDEX Statements: 인덱스를 별도로 생성하는 CREATE INDEX 문 생성

  9. Add SHOW WARNINGS After Every DDL Statement: 각 DDL 문 후 경고 표시를 위한 SHOW WARNINGS 문 추가

  10. Do Not Create Users. Only Export Privileges: 사용자는 생성하지 않고 권한만 내보내기

  11. Don't create view placeholder tables: 뷰의 자리 표시자 테이블 생성 생략

  12. Generate INSERT Statements for Tables: 테이블에 대한 INSERT 문 생성

  13. Disable FK checks for inserts: 삽입 시 외래 키 체크 비활성화

  14. Create triggers after inserts: 삽입 이후에 트리거 생성

Script 저장중 오류

3780 오류 뜰 수 있음

  • Foreign Key 설정할 때 참조하는 컬럼과 참조되는 컬럼의 데이터 타입이나 제약 조건이 호환되지 않아서 발생
  1. 데이터 타입이 서로 다를 때
    ex) themeId : 참조 테이블에서는 INT, 외래키 테이블에서는 VARCHAR
  2. 제약 조건이 다를 때
    ex) 한쪽 컬럼에 UNSIGNED 존재, 다른 쪽에는 없음
    ex) NULL 허용 여부

    해결법 :

    하단 내용으로 테이블 비교해가며 확인

    SHOW FULL COLUMES FROM <테이블명>;
    SHOW CREATE TABLE <테이블명>;

    하단 명령어로 수정

    ALTER TABLE <테이블명> MODIFY COLUMN <콜롬명> int UNSIGNED;

profile
Hello, World!

0개의 댓글