VisualStudio 2015에서 [ASP.NET WebApi + EF6 + SlowCheetah + Azure SQL] 웹 응용 프로그램을 게시하는 동안 새 마이그레이션 레코드를 추가하지 않고 프로덕션 데이터베이스 스키마가 __MigrationHistory
으로 업데이트됩니다.EntityFramework가 __MigrationHistory 레코드를 추가하지 않음
이런 이유로 EF 모델 바인딩에서 아래 오류 메시지와 함께 항상 실패했습니다.
각 테이블의 열 이름은 고유해야합니다. 테이블 'dbo.CommandModels'의 'SomeProperty'열 이름이 두 번 이상 지정되었습니다.
Weired 것은 web.config.dev
은 어떤 문제없이 개발 데이터베이스에 적용한다는 것입니다,하지만 web.config.production
는 문제가 있습니다. 두 config 파일 모두 데이터베이스 연결 문자열을 제외하고 동일한 계층 구조를 가지고 있으며 Publish
마법사는 Update Database
을 똑같이 검사했습니다.
이 문제를 해결하려면 항상 update-database -f -script
을 실행하고 마지막 줄 (인용 된 스크립트 아래)을 복사 한 다음 게시 한 후 SSMS 또는 VS에서 실행하십시오. 이 치료법은 https://stackoverflow.com/a/13957069/361100에서 제공됩니다.
INSERT [DBO]. [__ MigrationHistory] ([MigrationId], [ContextKey], [모델] [PRODUCTVERSION]) VALUES (N'201610070644166_AddAppId 'N'Recognition.WebApi.Migrations.Configuration' 0x1F8B0800000000000400ED5CDD6C00E3377481D67897B9418EFA035E217753DC80C62C8C4C0000, N'6.1.3-40302 ')
는 왜 이런 일이 발생합니까?