包含 # 的注释在 mysql 5.7 中完全有效,根据:https ://dev.mysql.com/doc/refman/5.7/en/comments.html似乎破坏了 mysql docker 测试容器的初始化文件。当我将 application-test.properties 文件中的数据源初始化为:
spring.datasource.jdbcUrl=jdbc:tc:mysql:5.7:///test?TC_INITSCRIPT=file:src/test/resources/test-init.sql
test-init.sql 文件中的任何这样的注释都会导致 mysql 在注释结构如下时忽略文件的其余部分:
# Dump of table USERS
# ------------------------------------------------------------
但是,当评论是这样的:
/*
# Dump of table USERS
# ------------------------------------------------------------
*/
文件的其余部分成功执行。
此外,测试容器不会引发 mysql 错误。相反,当我尝试在我的应用程序代码中引用它们时,它会告诉我我的表不存在。
我也使用测试容器而不是 H2,因为我希望它支持确切的 mysql 语法。有没有人暗示我如何纠正这个问题?我通常使用 sequel pro 的导出功能从现有数据库中导出模式。