2014-01-05 3 views
3

저는 laravel 프레임 워크를 사용하지만 사실 상관 없습니다. 질문은 데이터베이스 마이 그 레이션을 사용해야하는 이유와 앱을 개발하는 동안 데이터베이스를 제대로 사용하는 방법입니다.데이터베이스 마이그레이션과 워크 벤치 사용

예를 들어, 30 개 이상의 테이블로 끝나는 대규모 웹 앱을 구축하고 있습니다. 처음에는 데이터베이스가 전혀 없으므로 데이터베이스를 구축하기 시작했습니다. 이러한 마이그레이션을 수행하는 좋은 방법은 다음과 같습니다. 1. 사용자 테이블 추가 2. regdate 필드를 사용자 테이블 에 추가하십시오. 3. 사용자 권한 테이블을 추가하십시오. 4. 외부 키 contstrains을 사용자 및 권리 테이블 (링크 아이디) 5. 사진 테이블 추가 ...

먼저 첫 번째 단계에서는 mysql 작업대와 같은 도구에서 대부분의 테이블을 한 번에 만들 것입니다. 15 개의 테이블을 말하십시오. laravel에서 "데이터베이스 초기화"마이그레이션이라고할까요?

그런 다음 내 변경 사항을 동기화해야한다면 필자는 그러한 기능을 가지고 있기 때문에 Workbench와 함께 작업을 수행하므로 사람의 실수는 없습니다. 워크 벤치 모델을 어딘가에서 공유 할 수있는 팀과 함께 작업하는 경우 제거 (내가 원격 모델을로드 할 수 있는지 확실하지 않지만 워크 벤치 전문가가 아니지만 어쨌든 내가 변경 한 경우 변경 사항을 업로드 할 수 있음).

롤백 할 수없는 유일한 단점이 있지만 1.이 기능이 정말로 필요하면 대개 변경 사항을 기억하고 제거하고 다시 워크 벤치를 통해 동기화하십시오. 2. 많이 저장할 수 있습니다 laravel에서처럼 같은 마이그레이션 시스템을하고 워크 벤치 파일의

하지만 내가 좋아하는 내가 쉽게 당신은하지 않습니다 (코드를 작성하지 않고)

답변

1

을 관리 할 수 ​​있습니다, 모든 관계로 한 번에 모든 데이터베이스를 볼 수 있다는 것입니다 개발 중 변경 사항이 발생할 때마다 새로운 마이그레이션을 만들어야합니다. php artisan migrate:refresh을 사용하고 기존 마이그레이션 파일을 계속 변경하십시오. 사이트가 하나가 될 때까지

나는 개인적으로이 작업을 수행 :

내 팀의 다른
  • 누군가가
  • 때만 데이터베이스의 사본을 필요로 데이터베이스는 "디자인"완료

    1. (응용 프로그램에서 작업하는 여러 프로그래머와 같이) 분기가 발생할 가능성이 있으므로 여러 마이그레이션을 작성해야합니다.

      버전 제어와 비슷하다고 생각하십시오. 개발의 초기 단계에서는 사소한 변경이있을 때마다 커밋을 생성하지 않을 것이지만, 개발 중에 코드 일부가 포크 될 필요가있을 때 커밋/푸시 할 것입니다.

    관련 문제