SchemaAutoAction值的含义是什么?

时间:2011-12-29 13:26:36

标签: nhibernate

我回到NHibernate并且我注意到在示例中使用了一个新的配置属性:SchemaAutoAction。我似乎无法找到各种设置意味着什么的文档。设置/我猜测它们的含义是:

  • 重新创建 - 每次都删除并重新创建架构

  • 创建 - 如果架构不存在,请创建

  • 更新 - 发出alter语句以使现有架构匹配 模型

  • 验证 - 如果架构与模型不同,则会爆炸

这是对的吗?

2 个答案:

答案 0 :(得分:0)

SchemaAutoActionschema-action映射属性相同。

根据文档:

  

新的'schema-action'设置为none,这将阻止NHibernate   从包含此模式导出中的映射,否则它将   尝试为此视图创建表

答案 1 :(得分:0)

相似但不完全。 SchemaAutoAction类似于配置属性hbm2ddl.auto,其值为:

创建:始终在创建会话工厂时创建数据库; 验证:创建会话工厂时检查数据库是否与映射匹配,否则抛出异常; 更新:创建会话工厂时,如果数据库与映射不匹配,则发出DDL命令以更新数据库; 重新创建:始终创建数据库并在处理会话工厂时将其删除。