【发布时间】:2014-10-18 02:34:13
【问题描述】:
我想迁移数据库中的存储过程和视图。由于我总是迁移到最新版本,因此对源代码控制友好的方法是在迁移过程中删除/重新创建所有过程/视图(使用这种方法,每个过程一个文件,而不是每个版本一个文件)。
由于旧的过程/函数/视图可能与新的架构更改不兼容,我想在所有迁移之前进行删除,然后再进行创建。
之前我使用的是定制的 FluentMigrator,但现在我正在研究实体框架代码优先迁移。我发现我可以使用 Seed 在所有迁移后始终运行代码。
有什么东西可以让我在所有迁移之前始终运行代码?
【问题讨论】:
-
现在猜猜为什么严肃的项目尽可能远离 EF 迁移。他们。做。不是。工作。 - 除了最简单的情况。等到您需要使用服务器端数据转换进行多阶段迁移 - 然后有趣的事情就开始了。不值得在 EF 中这样做。我总是使用一组外部 SQL 更改文件。
-
@TomTom 到目前为止,我只使用了一点点,但我看不出我可以用 FluentMigrator 做什么,但不能在这里做。外部 SQL 对我来说不是一个选择,因为即使是微不足道的正则表达式转换也会变成一个巨大的痛苦。尽管现在我想到了,他们可能使用了相同的延迟模型,该模型不允许正确混合代码和 SQL。我需要研究。
标签: c# .net entity-framework database-migration entity-framework-migrations