2016-10-21 2 views
8

SQLite 데이터베이스 및 엔티티 프레임 워크 코어가 포함 된 .Net 코어로 구축 된 소규모 웹 사이트가 있습니다. VS 코드와 Mac을 사용하고 있습니다.GitHub와 함께 배포 된 dotnet 코어 사이트의 azure에서 마이그레이션 실행

로컬로 데이터베이스를 관리하기가 쉽습니다. dotnet ef database update이 효과적입니다. 문제는 Azure에 배포 할 때 마이그레이션을 실행하는 것입니다.

내 저장소가 GitHub에 있고, 마스터 분기를 푸시 할 때 GitHub에서 코드를 가져 오도록 Azure를 구성했습니다. 배포가 정상적으로 작동하지만 마이그레이션이 Azure에서 실행되고 있지 않습니다.

yourDbContext.Database.Migrate()을 Startup.cs에서 사용할 수있는 몇 가지 제안을 보았지만 .Migrate()은 더 이상 제공되지 않는 것으로 보입니다.

Azure에서 배포 스크립트를 다운로드하고 call :ExecuteCmd dotnet ef database update -e Production을 deploy.cmd에 추가하여 사용자 지정했지만 작동하지 않는 것으로 나타났습니다.

은 내가 수동으로 마이그레이션을 실행하기 위해 쿠두 사이트를 통해 액세스 할 수있는 PS 쉘을 사용하려했으나 한 결과가 dotnet ef database update, 여기에 매우 비슷한 질문 (EF Core (1.0.0) Migrations On Azure App Services가) 있습니다 No executable found matching command "dotnet-ef"

을 실행하려고 할 때, 그러나 그 질문은 어떤 대답도 얻지 못했습니다.

답변

7

코드에서 데이터베이스를 초기화 할 때 context.Database.Migrate()을 실행할 수 있습니다.

+2

감사합니다. @matthijsb - 몇 군데에서이 답변을 보았지만 나에게 적합하지 않았습니다. 나는 그것을 다시 시도하고 그것이 작동하도록했습니다. 트릭은 Startup.cs의 맨 위에'using Microsoft.EntityFrameworkCore; '를 추가해야했습니다. 그것 없이는 여전히 VS 코드에서 컨텍스트와 인텔리 센스를 만들 수 있었고'.Database'를 발견했습니다. 그러나''사용하기 ''가 추가 될 때까지'.Migrate() '를 찾지 못했습니다. – Dingels35

관련 문제