SchemaUpdate不会删除表或删除列

时间:2009-12-03 06:45:48

标签: nhibernate fluent-nhibernate

我正在使用SchemaUpdate根据某些配置对数据库进行更改。 添加新表或列时,它可以正常工作。 但是,删除列或删除表时,它不起作用。 映射文件确实反映了这些更改,但SchemaUpdate似乎没有认识到这一点。 我不想删除表并重新创建它们,因为我希望保留数据。

有没有人知道SchemaUpdate是否支持“删除和删除”功能?

由于

1 个答案:

答案 0 :(得分:8)

不是 - SchemaUpdate只会添加新的表/列。此行为是设计使然 - 您的模型可以(例如)映射到许多系统使用的数据库,并且它只能使用表/列的子集。在这种情况下,如果SchemaUpdate确实删除了那些列和表 - 它将破坏所有其他系统。

有关替代方案,请参阅NHibernate SchemaUpdate