如何从NHibernate映射文件生成"迁移" DDL?
时间:2020-03-06 14:32:27 来源:igfitidea点击:
我在我的项目中使用NHibernate 2和PostgreSQL。 SchemaExport类在为数据库生成DDL方案方面做得很出色,但是在第一个应用程序之前效果非常好。
有没有办法使用NHibernate映射文件生成"迁移" DLL(" ALTER TABLE"而不是DROP / CREATE对的批处理)?
解决方案
查看SchemaUpdate。与SchemaExport非常相似的API,但它仅创建迁移。
尽管SchemaUpdate可以很好地满足我的需求,但它仍然存在一些问题。例如,即使它不会与现有数据冲突,它也拒绝对现有数据库列施加新的限制。
我会努力扩展SchemaUpdate一点,或者,如果失败,请切换到其中一种手动迁移工具(例如Rails之一)。