如何从 NHibernate 映射文件生成“迁移”DDL?
Posted
技术标签:
【中文标题】如何从 NHibernate 映射文件生成“迁移”DDL?【英文标题】:How can I generate "migration" DDL from NHibernate mapping files? 【发布时间】:2010-09-12 00:21:53 【问题描述】:我在我的项目中使用 NHibernate 2 和 PostgreSQL。 SchemaExport 类在为数据库生成 DDL 方案方面做得很好,但在第一个应用程序之前它就很棒。
有没有办法使用 NHibernate 映射文件生成“迁移”DLL(批量“ALTER TABLE”而不是 DROP/CREATE 对)?
【问题讨论】:
*生成 -- 请校对。 【参考方案1】:查看SchemaUpdate。与 SchemaExport 非常相似的 API,但它只创建迁移。
【讨论】:
【参考方案2】:虽然 SchemaUpdate 很好地满足了我的需求,但它仍然存在一些问题。例如,它拒绝对现有数据库列施加新的限制,即使它不会与现有数据冲突。
我打算稍微扩展 SchemaUpdate,或者如果失败,切换到手动驱动的迁移工具之一(例如 Rails 工具)。
【讨论】:
以上是关于如何从 NHibernate 映射文件生成“迁移”DDL?的主要内容,如果未能解决你的问题,请参考以下文章
nhibernate 怎么能够自动生成映射文件.hbm.xml 和数据库表 .cs 文件
使用MyGeneration生成NHibernate映射文件