내 로컬 컴퓨터에서 실행될 때 내 시드 메서드가 완벽하게 작동하지만 appharbor에 코드를 푸시하면 시드가 작동하지 않습니다. 시드 메서드는 로컬 컴퓨터에서 작동하지만 appharbor에서는 작동하지 않습니다.
이
내 연결 문자열입니다<connectionStrings>
<add name="FinalProjectContext" connectionString="Data Source=.\SQLEXPRESS;User
Id=user;Password=pass;initial catalog=MyContextDB;"
providerName="System.Data.SqlClient" />
</connectionStrings>
내 종자 방법은 마이그레이션에 대한 Configuration
파일 내부 :
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
}
protected override void Seed(MyContext context)
{
//add data
}
그리고 나는 내부 상황에 맞는 클래스에서 내 종자 메소드를 호출하는거야 OnModelCreating
:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());
}
편집
AppHarbor는 SQLExpress를 지원합니까 ?? – JayC
@JayC 모르겠지만 appharbor이 내 연결 문자열을 바꿔야한다고 생각하지 않아 SQL 별칭 필드에 내 컨텍스트 이름을 입력해야합니다. – SOfanatic
@SOfanatic 올바른 연결 이름과 MSSQL 서버에 대한 "app/plugin"(AppHarbor이 호출하는 모든 것)에 대한 설정이 필요하다고 생각합니다. 그런 다음에 만 연결 문자열을 대체합니다. 이것에 대한 빠른 테스트는'ConfigurationManager.ConnectionStrings [ "MyContext"]. ConnectionString' (Response.Write 또는 일부 컨트롤러/뷰 사용)을 시도하고 인쇄하는 것입니다. – Alxandr