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

时间:2017-07-07 06:04:25

标签: openbravo

在openbravo中执行update.database时出现问题

[java] ALTER TABLE AD_FIELD      [java] ADD CONSTRAINT AD_COLUMN_FIELD FOREIGN KEY(AD_COLUMN_ID)REFERENCES AD_COLUMN(AD_COLUMN_ID)

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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