H2指错表

时间:2016-02-17 14:16:00

标签: java h2 liquibase dbunit integration-testing

我在我的代码和数据库中做了一些重构。我在DB中所做的一项更改是创建一个新表newTable1,其中包含oldTable2的一些信息,以及其他一些表。然后我删除了oldTable2并将表格newTable1重命名为oldTable2

在我的本地数据库中,一切都很完美。我遇到的问题是集成测试。看起来测试仍然引用旧表而不是新表。

当我的实体引用:@Table(name = "oldTable2")时 - 测试工作,但应用程序不工作。当我将其更改为@Table(name = "newTable1")时 - 测试不起作用,但应用程序会起作用。

我得到以下异常:

Caused by: org.h2.jdbc.JdbcSQLException: Column "TABLE0_.ID" not found; SQL statement:
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.expression.ExpressionColumn.optimize(ExpressionColumn.java:147)
at org.h2.expression.Alias.optimize(Alias.java:51)
at org.h2.command.dml.Select.prepare(Select.java:835)
at org.h2.command.Parser.prepareCommand(Parser.java:246)
at org.h2.engine.Session.prepareLocal(Session.java:460)
at org.h2.engine.Session.prepareCommand(Session.java:402)

对于凌乱的解释感到抱歉,谢谢你的任何线索。

0 个答案:

没有答案