如何从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之一)。