问题标签 [schemaexport]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
842 浏览

nhibernate - 具有生成属性的 NHibernate SchemaExport

我想知道是否有办法让 SchemaExport 为生成的属性生成和标识列。

使用上面的映射,ShcemaExport 不会将 OrderNumber 列设置为 Identity 列。

格雷格

0 投票
1 回答
896 浏览

nhibernate - SchemaExport、NHibernate 和删除外键

我正在构建我的映射,然后使用模式导出来更新我的数据库。但是,如果我在我的映射中删除一个关联,因为它不再在映射中,所以当我运行 SchemaExport 时,它不会删除已删除关联的外键。这意味着它随后无法删除与该外键关联的表。这进一步意味着它无法重新创建表,并且我得到一个“数据库中已经有一个名为 Foo 的对象”异常。有没有办法通过模式导出暴力删除表?

0 投票
2 回答
24391 浏览

hibernate - Hibernate:如何将 *.hbm.xml 文件映射到不同的文件夹中?

我有一些 *.hbm.xml 文件放在 hibernate.cfg.xml 文件的同一文件夹中。现在,我想映射此文件夹子文件夹中的其他一些 *.hbm.xml 文件。我怎么能做到?谢谢!

这是我的一部分hibernate.cfg.xml

这是我的 Ant 文件的一部分:

这是我的文件夹结构



[编辑]

正如莫里斯建议的那样,我首先尝试并失败了,将线路改为

仍然给出相同的错误:

然后我继续尝试按照 Mark 的建议添加到我的 schemaexpoert 中。然后它甚至再也找不到我的“A.hbm.xml”了。给出错误:

我的 SchemaExportTask 现在看起来像:



[解决]

结论是我真的很愚蠢。它与在不同的目录中无关。我很困惑,因为我在测试阶段一次更改了两件事,然后我将这一切归咎于无辜的“目录更改”。很抱歉浪费了大家的时间。

如果有人感兴趣,这就是发生的事情。我使用本地 DTD 文件进行了一些 XSLT 转换,并在我的 XSL 文件中使用相对路径指定了本地 DTD 文件。但是我将生成的 hbm.xml 文件放到了不同的目录中——因此 SchemaExportTask 无法再找到 DTD 文件并且无法解析新的 hbm.xml 文件。由于一些愚蠢的原因,我认为以下完全不同的错误消息意味着相同的事情......非常感谢 Mark 提醒我人们写错误消息是有充分理由的!现在添加fileset仍然不起作用,但我现在知道阅读错误信息......我相信我会尽快修复它。=.=''

0 投票
5 回答
4759 浏览

asp.net - NHibernate 可以检查数据库模式是否已生成?

所以,新手 NHibernate 用户;试图将我的大脑包裹在它周围。

我正在考虑如何处理部署,以及稍后将附加组件注入 Web 应用程序(这可能需要它们自己的持久性类)。

我在想使用SchemaExport部署会很好地工作,但我想知道是否有办法让 NHibernate 以一种常见的、基于代码的方式告诉我模式导出是否已经完成。基本上,我想在这个伪代码中做一些事情:

其中两个函数将分别在内部使用SchemaExportor SchemaUpdate


编辑:伙计们,我很欣赏到目前为止的答案,但他们有点忽略了这一点。我正在尝试设置的是应用程序允许添加和删除可能需要更改数据库的附加组件的方法。我不是在谈论对我自己的代码等进行版本控制(至少,不是作为它的主要功能)。所以问题不在于我何时部署应用程序,而在于我何时添加或删除插件。之前是否部署了 theis 插件(因此是伪代码类型检查)?如果是这样,请运行更新。如果没有,请运行导出。说得通?

0 投票
1 回答
5583 浏览

.net - NHibernate SchemaExport 和 Configure() catch-22

我想在一个新项目中使用DDD并首先对我的类进行建模,然后根据类库生成数据库模式。我的计划是使用 NHibernate hbm2ddl 工具来做到这一点SchemaExport

问题是我无法SchemaExport工作,因为它让我陷入了一个奇怪的 catch-22 问题。SchemaExport需要一个Configuration对象,该对象本身需要一个有效的 NHibernate 配置文件以及一组数据库映射。

这里的第 22 条问题是,当我执行 Configure() 时,它会抱怨"Could not determine the name of the table for entity 'MyEntity'; remove the 'table' attribute or assign a value to it."所以该Configure()方法需要表存在,而SchemaExport应该根据Configuration我无法创建的表来创建它,因为表不存在不存在。

那么,我到底应该如何创建一个有效的 NHibernate ,其中包含实际做一些有用的事情Configuration所需的映射,而不会抛出并抱怨它找不到要创建的表?是否有一个“模式”我可以设置对象,这样它就不会检查数据库是否存在给定的表,还是我需要做其他事情?SchemaExportConfigure()SchemaExportConfiguration

0 投票
1 回答
797 浏览

nhibernate - NHibernate - SchemaExport 工具问题?

使用 SchemaExport 工具时是否可以控制生成的对象。例如,如果我有 EntityA、EntityB 和 EntityC 的 NH 映射文件,我如何才能从创建中排除 C?

罗伯托.-

0 投票
1 回答
456 浏览

nhibernate - 有效地使用模式导出

我们使用 NHibernate 作为我们的 ORM 框架。我们需要持久化我们在运行时加载的类。我们根据它们附带的元数据来执行此操作,这些元数据包含它们拥有的数据的名称和类型。为了在运行时为它们构建表,我们使用 NHibernate ToolSet API 中的 SchemaExport 类。

我们想问两个问题:

  1. 有没有办法让 NHibernate 在一次到数据库的往返中完成所有实际创建,而不是每张表的往返?
  2. 为了使用 SchemaExport 工具,我们正在构建一个动态字符串,该字符串表示来自我们保留的模板的映射文件。有一个更好的方法吗?甚至可能没有映射字符串?
0 投票
1 回答
3796 浏览

nhibernate - SchemaExport 与 FluentNhibernate

这段代码有什么问题吗。我没有生成任何东西,也没有抛出异常。

0 投票
2 回答
2286 浏览

nhibernate - NHibernate 不创建表

上面的代码应该创建一个带有 name 的数据库表<ClassName>

但它不是创造。

0 投票
4 回答
9170 浏览

fluent-nhibernate - 将字符串设置为“varchar”而不是“nvarchar”的sql类型

我有以下映射:

但是,SchemaExport用于在 SQL Server 2008 中生成数据库,生成的脚本忽略了长度,因此实际上它最终是varchar长度为 1 的:

.CustomSqlType("varchar 512")抛出异常。并且在不定义 的情况下CustomSqlType,字符串被映射到nvarchar(确实尊重该Length属性)。

有什么建议么?