EF update-database -script不生成正确的GO语句

时间:2016-12-20 03:43:14

标签: sql-server entity-framework ef-migrations

使用EF6,update-database在运行命令时正常工作,并让它直接在数据库上执行迁移。当您可以直接访问数据库时,这适用于开发时间。

我想要的是生成脚本并在部署期间运行脚本。当我使用update-database -script时,在一些操作使得脚本在SQL管理工作室中执行不正确后,生成的脚本没有正确的GO语句。我所遇到的一个确切问题是CREATE TABLE [dbo].[__MigrationHistory]无法执行。

如果我手动插入GO语句并执行脚本,它可以正常工作。我发现如果你有一个"创建程序"迁移中的陈述。

为了进行测试,我创建了一个自定义SQL生成器类,并在所有重要的迁移操作之前使其注入GO语句。然后使用update-database -script参数生成的sql脚本正常工作。但是开发时间"更新 - 数据库"停止工作并抱怨could not find stored procedure 'GO'

有没有人知道如何使用-script参数使其工作?

0 个答案:

没有答案