mig*_*jek 5 nhibernate fluent-nhibernate ef-migrations
TL; DR是否有任何用于NHibernate管理(自动创建,执行)迁移(使用本机.NET语言)的工具?
我来自Django背景,鼓励开发Code-First.还有用于迁移的事实上的"行业标准"库,称为South.更改架构的典型工作流程如下:
这不仅对于开发(甚至是事情变化如此之快的SCRUM)而且对于更新生产非常方便 - 只需确保将dev-machines和生产服务器上的迁移分开.它对于生产来说也非常安全,因为您可以在应用之前查看并选择性地修改迁移.
在评估.NET的ORM时,我尝试过Entity Framework 5,正如我发现的那样,它与Django-South的功能非常相似.有一个用于创建迁移代码的Package-Manager Console命令,可以在执行之前对其进行修改,还有一个单独的命令可以执行所有尚未执行的迁移,并将它们标记为在迁移历史记录中执行.
NHibernate有这样的工具吗?
我知道SchemaUpdate
功能,但AFAIK只需更新所有需要一步更新的内容.我不会在生产中使用它,也不会在数据丢失不是灾难但仍然有些痛苦的开发过程中使用它.我也知道SchemaUpdate可能用于将SQL语句导出到文件而不是执行它们,但它不是那么方便,因为没有历史迁移的自动管理.另外,必须手工编写SQL;)
不知道这是否真的回答了您的问题,但要自动执行模式更改并更新映射甚至设计映射,最好使用工具来实现。特别是如果您有一个非常大的数据库/域模型。
我目前正在与devart 的实体开发人员合作。
我们比较了多种类似的工具,但这个工具确实很棒。它具有如此多的功能,还提供添加自定义 T4 模板的功能,以生成您想要的模型中的任何内容,甚至向模型设计器添加自定义属性,然后可以在代码生成器部分中使用...
您还可以手动将实体/属性重命名为更易读的名称,即使在数据库模式更新后,该工具也会保留它......
当然,它支持模型或数据库优先方法......
您可以下载 Cause 的试用版,以确定这是否适合您的需求......
归档时间: |
|
查看次数: |
3796 次 |
最近记录: |