패키지 관리자 콘솔에서 Update-Database를 실행하면 시드 프로세스가 실행됩니다. 다른 시드 명령을 실행하기 위해 다른 명령을 실행할 수 있습니까?
다음과 같은 것 :
Seed-Test-Data
일부 테스트 데이터를 개발자 로컬 데이터베이스에 시드합니다.
마이그레이션이 실행될 때 프로덕션 데이터베이스에서 실행되기 때문에이 명령을 일반 시드 방법으로 실행하고 싶지 않습니다.
일반 시드를 사용하되 컨텍스트가 사용하는 서버를 확인하고 그에 따라 작동하십시오. dev 데이터베이스를 화이트리스트에 추가하거나 prod 서버를 블랙리스트에 추가하십시오.
internal sealed class Configuration : DbMigrationsConfiguration<ApplicationDbContext>
{
protected override void Seed(ApplicationDbContext context)
{
if (context.Database.Connection.DataSource != "ProductionServer")
{
if (!context.MyTable.Any()) // If table is empty, seed it...
{
context.MyTable.AddOrUpdate(
p => p.ID,
new MyTable{ ID = 1, FullName = "Mary Peters" },
new MyTable{ ID = 2, FullName = "Mike Lambson" },
new MyTable{ ID = 3, FullName = "Steve Miller" }
);
}
}
...
}
}
web.config에서 환경을 확인하는 설정을 추가 할 수도 있습니다.
if (ConfigurationManager.AppSettings["Environment"] == "DEV")
{
...
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다