执行 update.database 时未发现 Openbravo 外键问题

Openbravo foreign key not found issue while doing update.database

在 openbravo

中执行 update.database 时出现问题

[java] 改变 TABLE AD_FIELD [java] 添加约束 AD_COLUMN_FIELD 外键 (AD_COLUMN_ID) 引用 AD_COLUMN (AD_COLUMN_ID)

[java] 250661 错误 - 并非最终更新步骤中的所有命令都正确执行。这可能意味着至少有一个外键未成功激活。请查看哪一个,并修复丢失的引用,或恢复源的备份。 [java] java.lang.Exception: 更新数据库时出现严重问题。请在继续重建应用程序之前检查并修复它们 [java] 在 org.openbravo.ddlutils.task.AlterDatabaseDataAll.doExecute(AlterDatabaseDataAll.java:227) [java] 在 org.openbravo.ddlutils.task.BaseDatabaseTask.execute(BaseDatabaseTask.java:86) [java] 在 org.openbravo.ddlutils.task.AlterDatabaseJava.main(AlterDatabaseJava.java:38)`

请在您的数据库中执行以下查询

select AD_FIELD_ID  from AD_FIELD where AD_COLUMN_ID not in (select  AD_COLUMN_ID from AD_COLUMN);

AD_FIELD table 中的输出列缺少外键 AD_COLUMN_ID。

转到modulepath/src-db/database/sourcedata/AD_FIELD。xml

从上面的查询输出中搜索个人 AD_FIELD_ID 并从 AD_FIELD.xml 文件中删除并再次执行 update.database。