Make As primeiras migrações de código EF4.3 ignoram as migrações pendentes
Tenho uma instância local de um banco de dados que criei recentemente usandoDbContext.Database.Create()
, então o__MigrationHistory
tabela @ existe com umInitalCreate
ntrada que corresponde ao código no moment
Algumas migrações baseadas em código existem na pasta Migrações, no entanto. Eles serão executados em nossos ambientes de desenvolvimento e armazenamento temporário para alinhar esses bancos de dados com o código. No entanto, não preciso aplicá-los localmente, pois criei o banco de dados usando o código atua
Agora, preciso fazer uma alteração no modelo e criar a migração correspondente. Mas quando eu corroAdd-Migration TestMigration
, Estou tendo o erro a segui
Unable to generate an explicit migration because the following explicit
migrations are pending:
[201203271113060_AddTableX,
201203290856574_AlterColumnY]
Apply the pending explicit migrations before attempting to generate
a new explicit migration.
O que devo fazer neste caso? Não consigo apontar a ferramenta Adicionar migração para outro ambiente porque não há garantia de que a versão corresponda ao que tenho localmente. Quero uma migração que corresponda apenas às alterações que fiz.
Parece que tenho algumas opções, mas nenhuma é ideal:
Exclua as outras migrações da pasta Migrações, execute o comando Adicionar Migração, atualize o banco de dados e restaure as migrações antigas. Isso é simples, mas parece um pouco tolReveja a versão do modelo no controle de origem à qual a primeira migração foi aplicada, crie-a e use-a para criar o banco de dados. Em seguida, obtenha a versão mais recente, aplique todas as migrações e estou pronto para adicionar minha migração. Parece muito esforço!Crie a migração manualmentAlguém tem alguma sugestão sobre como gerenciar isso?