目前我正在将我的应用程序部署到一个共享的宿主环境,并且代码优先,迁移一直很好,除了一个小小的打嗝。 每次我想要推动网站,我必须使用“更新数据库-script”选项,因为我必须预先为每个表名添加[dbo]因为默认情况下,共享主机将创build一个默认模式名称,该名称与数据库用户名 如果我login到我的共享主机并创build数据库,则必须创build一个用户。 如果我命名该用户pipe理员,那么在以admin身份login时,代码首先创build的表格类似于“[admin]。[BlogPosts]”。 当应用程序运行时,所有的表都被创build,但是我得到一个EFexception,因为它表示“[dbo]。[BlogPosts]”是无效的。 如果我将表的模式名称重命名为“[dbo]”,而不是“[admin]”,修复它。 为了解决这个问题,我必须生成一个手动执行的迁移脚本,并在所有表名之前添加“[dbo]”,因为脚本只是通过名称来引用表,而不是通过它们的模式和名称引用表。 有一个简单的方法来解决这个问题吗? 如果我所要做的只是发布应用程序并且一切正常,那将是如此的美好。 如果不是模式名称的差异,它将是一个一个点击的部署,一切都将是光荣的。
我已经把我的迁移IgnoreChanges了,我在初始迁移时使用了IgnoreChanges ,但是现在我想删除所有的迁移,并开始使用所有逻辑进行初始迁移。 当我删除文件夹中的迁移,并尝试和Add-Migration它不会生成一个完整的文件(这是空的 – 因为我没有做任何改变,因为我上次,但现在删除,迁移)。 有没有Disable-Migrations命令,所以我可以重新运行Enable-Migrations ?