5

포워드 엔지니어가 데이터베이스를 생성하는 EER 모델을 MySQL Workbench에 구축했습니다. 포워드 엔지니어링은 완벽하게 작동하며 데이터베이스는 예상대로 다이어그램에서 생성됩니다.모델에서 포워드 엔지니어링 후 MySQL 스크립트 또는 루틴을 어떻게 자동으로 실행합니까?

테이블 외에도 모델에 포함 된 일부 저장 프로 시저 (루틴이라고도 함)가 있습니다. 이러한 루틴은 데이터베이스가 설정 되 자마자 한 번만 실행되도록 설계되었습니다. 테이블에 필요한 데이터를 자동으로 삽입합니다.

제 질문은 어떻게하면 테이블이 만들어지면 자동으로 이러한 루틴 중 하나를 호출하거나 실행할 수있는 엔지니어링 프로세스를 얻을 수 있습니다.

현재 엔지니어를 전달하고 수동으로 저장 프로 시저를 호출해야합니까?

+0

혼란스러워 : 저장 프로 시저 또는 스크립트를 실행 하시겠습니까? 스크립트는 어디에서 왔습니까? –

+1

@MattFenwick, 명확히하기 위해 질문을 다시 작성했습니다. – Spider

+0

정말 많은 수의 저장 프로 시저가있어서 수동으로 실행하기에는 너무 많은 작업이 있습니까? –

답변

5

워크 벤치의 EER 다이어그램에서 테이블을 마우스 오른쪽 단추로 클릭하고 편집 테이블을 선택하십시오. 그러면 두 개의 탭이있는 맨 아래에 n 창이 열립니다. 탭은 테이블, 컬럼, 인덱스, 외래 키 등입니다. insert라는 탭이 있습니다. 이 탭에서는 레코드를 Model 데이터베이스에 삽입 할 수 있습니다.

삽입 탭을 클릭하면 격자가 표시됩니다. 이 격자에 삽입 할 레코드를 추가하십시오. 이 레코드를 커밋해야합니다.. 당신이 앞으로 삽입 문을 생성 할 수있는 옵션이 매우 첫 번째 화면에서 데이터베이스를 엔지니어 때 이제 예를

Workbench Data Insert

에 대한 스크린 샷을 참조하십시오. Forward 엔지니어 옵션을 선택하면 모델을 만들 때 삽입 할 데이터가 스크립팅됩니다. MySQL 워크 벤치로 가지 않고도 스크립트를 반복해서 실행할 수 있도록 스크립트를 저장하십시오.

Tick Insert option

나는, 업데이트, 삭제 또는 워크 벤치에서 다른 데이터 조작을 수행하는 옵션을 발견하지 않았습니다 그러나 나는 이것이 당신이 찾고있는 것을 생각합니다. 주 레코드를 임포트하려면 워크 벤치를 통해 수행 할 수없는 옵션이 없습니다. 레코드를 파일로 저장할 수 있습니다. 그러나 가져 오기/생성하려면 한 번에 하나씩 추가해야합니다 (모 델러 frm). 그러나 이미 레코드가있는 MySQL 데이터베이스의 백업을 만들 수 있습니다. 그런 다음 INSERT 문을 MYSQL 백업 스크립트에서 설치 스크립트로 복사하십시오.

단계는 다음과 같습니다

  1. 이 데이터베이스를 만듭니다.

  2. 가져 오기 새로 만든 데이터베이스로 설치/설정 기록

  3. 백업 데이터베이스

  4. 열기 백업 파일 복사하고 만든 설치 스크립트에 찾고있는 INSERT 문을 붙여 넣기로 파일을 MySQL의 워크 벤치

UPDATE :

좀 experime했다 당신이 검토 스크립트를 얻을 때 nting은 포워드 엔지니어링 단계에서 실행될 수 있습니다. 또한 스크립트를 편집하여 저장 프로 시저 (앞에서 언급했듯이)를 호출 할 수 있습니다. 완료되면 스크립트를 저장하고 테스트하십시오.

희망 하시겠습니까?

+0

방금 ​​추가로 정보를 추가했습니다. 확인해주십시오! – Namphibian

+0

도움을 주셔서 대단히 감사드립니다. 저장 프로시 저는 데이터베이스에 삽입해야하는 30 000 개의 레코드를 생성합니다. 다른 하나는 국가와 관련 도시를 채 웁니다. 데이터 세트가 너무 커서 수동으로 삽입 할 수 없습니다. 더 이상의 솔루션은 여전히 ​​환영합니다. – Spider

+0

@Mark Van Wyk이 저장 프로 시저를 사용하면 앞으로 엔지니어링 과정에서 생성되는 저장 프로 시저를 저장할 수 있습니까? – Namphibian