我在c#桌面应用程序中使用NHibernate Fluent Code First。有没有办法更新数据库架构而不删除现有数据。 在我的情况下,我只需要添加一个没有约束的新列,允许空值,而不是外键/主键,但我需要保存db中的所有现有数据。
如果重要的话,db是Postgre 9.2
答案 0 :(得分:2)
fluentConfiguration.ExposeConfiguration(config => new SchemaUpdate(config).Execute(false, true))
会自动更新数据库架构,并且不会更改现有数据。它只能添加表或列。
可以使用FluentMigrator执行重命名和删除,但如果需要保存数据,则必须手动编写数据迁移。