답변:
API가 변경된 것 같습니다 (적어도 나를 위해 작동하지 않습니다).
패키지 관리자 콘솔에서 다음을 실행하면 예상대로 작동합니다.
Update-Database -Script -SourceMigration:0
dotnet ef migrations script
. 설명서에 대한 자세한 내용 : docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/…
엔터티 프레임 워크 코어를 사용하는 사람이라면 여기까지입니다. 이것이 당신이하는 방법입니다.
# Powershell / Package manager console
Script-Migration
# Cli
dotnet ef migrations script
-From
and -To
매개 변수를 사용하여 데이터베이스를 특정 버전으로 업데이트하는 업데이트 스크립트를 생성 할 수 있습니다 .
Script-Migration -From 20190101011200_Initial-Migration -To 20190101021200_Migration-2
https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/#generate-sql-scripts
이 명령에는 몇 가지 옵션이 있습니다.
에서 마이그레이션 스크립트를 실행하기 전에 데이터베이스에 적용 마지막으로 마이그레이션해야합니다. 마이그레이션이 적용되지 않은 경우
0
이를 지정하십시오 (기본값).로 마이그레이션 스크립트를 실행 한 후 데이터베이스에 적용되는 마지막 마이그레이션입니다. 기본값은 프로젝트의 마지막 마이그레이션입니다.
나무 등의 스크립트를 선택적으로 생성 할 수 있습니다. 이 스크립트는 데이터베이스에 아직 적용되지 않은 마이그레이션 만 적용합니다. 이는 데이터베이스에 마지막으로 적용된 마이그레이션이 무엇인지 정확히 모르거나 각각 다른 마이그레이션에있을 수있는 여러 데이터베이스에 배포하는 경우에 유용합니다.
Matt wilson의 답변에 추가하기 위해 백업을 수행하지 않은 코드 우선 엔터티 클래스가 많았지 만 데이터베이스는 없었습니다. 따라서 Entity Framework 프로젝트에서 다음을 수행했습니다.
Visual Studio에서 패키지 관리자 콘솔을 열고 다음을 입력하십시오.
Enable-Migrations
Add-Migration
마이그레이션에 'Initial'과 같은 이름을 지정한 다음 마이그레이션을 작성하십시오. 마지막으로 다음을 입력하십시오.
Update-Database
Update-Database -Script -SourceMigration:0
마지막 명령은 엔터티 클래스에서 데이터베이스 테이블을 생성합니다 (엔티티 클래스가 제대로 구성된 경우).