0

我正在尝试为 hsqldb 复制我的 mysql 表,以便在我的 JPA / Hibernate 项目中运行一些单元测试。

目前只有两个表,但我无法在 hsqldb 中创建两个表。我使用 Spring 文档中的示例代码在测试用例之前运行 schema.sql 脚本:

db = new EmbeddedDatabaseBuilder().addDefaultScripts().build();

但它总是因“意外令牌”异常而失败,令牌范围从“数据库”到“(”。

有没有一种直接的方法可以将 mysql 转储转换为 hsqldb 可以理解的东西?或者我应该以其他方式填充测试数据库?

4

1 回答 1

1

我使用 HSQL 和 MySQL 数据库工作了很多年,我知道没有工具可以将 MySQL 转储转换为 hsqldb 脚本。我在这里看到两个解决方案:

  1. 制作将 MySQL 转储转换为 hsqldb 脚本的脚本或程序。您可以按照这篇文章中的步骤列表进行操作: 如何将 mysql 转储加载到 hsqldb 数据库? 使用两个响应 https://stackoverflow.com/a/3813164/891479https://stackoverflow.com/a/7791340/891479 因为第一个不完整。
  2. 制作一个连接到两个数据库的小程序,将您的 MySQL 表加载到对象中并填充您的 hsqldb。

我们总是使用第一个解决方案,它可能是最简单的一个。

于 2013-03-05T09:59:13.977 回答