MySQL Workbench를 이용해서 쉽게 기존 DB SCHEMA 그대로 새로 SCHEMA 생성하기

1. MySQL Workbench에서 Model 메뉴 진입


2. Reverse Engineer 선택



3. 복제할 대상의 Schema를 선택 후 모든 option next 대충 이런식의 모델이 생성된다.



4. 이 상태에서 그대로 Forward Engineering



5. 적절하게 원하는 옵션선택해주고 나면 마지막에 대략 이런 SQL문이 만들어진다.


이걸 실행하지는 말고 만들어진 내용만 복사하자. 


DB명을 새로 만들 DB명으로 변경해줘야 하니까. 스샷 기준으로는 abmgt_prod를 my_new_table_name으로 변경하면 되겠다.



그대로 안되고 에러나는 경우가 있다.

MySQL 버전차이로 생기는 문제일 수 있고 문제의 원인은 다양한데 내 경우엔 2가지 이슈가 있었다. 


1. Date에 0000-00-00과 같은 값이 허용되지 않음.

3번째 줄 SQL_MODE의 String에 ,ALLOW_INVALID_DATES를 추가하니까 해결.


2. UNIQUE INDEX 생성 구문 에러

MySQL 버전따라서 `Unique INDEX(id).. VISIBLE)` 이런 곳에서 에러가 날 수 있다. 

MySQL 버전차이 때문에 그럴텐데 VISIBLE 혹은 INVISIBLE을 없애거나 꼭 사용하는데 필요하다면 MySQL의 버전을 올리던가 해야한다. 

댓글

이 블로그의 인기 게시물

로컬 Tomcat 서버 실행속도 개선

2019.05.23 - SQLAlchemy 의 객체 상태 관리 (expire, refresh, flush, commit) 에 관한 이해

2020.02.17 Python의 multiprocessing 중 Pool.map(), chunksize에 관한 내용