일부 값 개체 구성으로 내 샘플 프로젝트에서 EF Core 2.0을 사용하고 있습니다. 코드를 수정하고 CLI 명령 행을 통해 마이그레이션을 생성합니다. 마지막으로 이주 할 때 새 데이터베이스 테이블을 추가해야하는 대신 기존 테이블을 서로 바꿔서 기존 테이블을 추가 테이블로 작성하려고합니다. 나는 그 이유를 알 수 없었다.EF 핵심 마이그레이션 수동 편집이 가능합니까?
EF 코어를 사용하면 스냅 샷이 마이그레이션 자체와 별도로 자동 생성 된 파일이므로 스냅 샷을 수정하고 싶지 않으므로 문제가됩니다.
마이그레이션 스크립트를 수정하여 여러 테이블의 이름을 바꾸지 않고 내가 만든 마이그레이션에서 스냅 샷을 생성하기 만하면됩니다.
CLI에서이 명령이 표시되지 않았습니다. 스캐 폴딩 된 마이그레이션을 수정하고 재생성하는 것이 좋지 않습니까? 아니면 마이그레이션 스크립트를 수동으로 수정하는 방법에 대한 설명이있는 새로운 링크가 누락 되었습니까?
감사합니다.
업데이트 1 : 댓글 후 스냅 샷에 대한 정보를 this link에서 추가했습니다.
현재 데이터베이스 스키마가 코드로 표시되기 때문에 EF Core는 마이그레이션을 만들기 위해 데이터베이스와 상호 작용할 필요가 없습니다. 마이그레이션을 추가 할 때 EF는 데이터 모델을 스냅 샷 파일과 비교하여 변경된 사항을 결정합니다. EF는 데이터베이스를 업데이트해야 할 때만 데이터베이스와 상호 작용합니다. +
파일을 수정할 수 없습니까? 별도로 지정하지 않으면 Migrations 폴더에 있습니다. – cassandrad
나는 무엇이든 놓치면 스냅 샷이 부실하게 될 위험이 없다. 가능하다면 마이그레이션에서 생성하고 코드의 현재 상태가 결합 된 마이그레이션과 일치하지 않으면 프레임 워크에서 오류를 반환하고 싶습니다. – user3141326
@cassandrad 그리고이 경우 스냅 샷과 파일간에 불일치가 있으면 어떻게됩니까? 같은 폴더에있는 _ContextModelSnapshot 파일입니다. 사용하지 않는 경우 용도는 무엇입니까? – user3141326