- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须遵循在 postgres 中工作的迁移:
ALTER TABLE task_def
DROP COLUMN retry_count,
DROP COLUMN timeout_seconds;
(并在产品中运行)但现在我想切换到 h2 进行单元测试,但 h2 似乎不接受它我在 Spring Boot 中的数据库配置:
spring.datasource.url=jdbc:h2:./target/testdb;MODE=PostgreSQL
spring.datasource.username="sa"
spring.datasource.password=""
spring.jpa.hibernate.ddl-auto=none
spring.datasource.driver-class-name=org.postgresql.Driver
spring.flyway.url=jdbc:h2:./target/testdb;MODE=PostgreSQL
spring.flyway.user="sa"
spring.flyway.password=""
spring.flyway.schemas=
错误:
Migration V3__.....sql failed
---------------------------------------
SQL State : 42S22
Error Code : 42122
Message : Column "DROP" not found; SQL statement:
ALTER TABLE task_def
DROP COLUMN retry_count,
DROP COLUMN timeout_seconds [42122-200]
Location : db/migration/V3__.....sql
Line : 1
Statement : ALTER TABLE task_def
DROP COLUMN retry_count,
DROP COLUMN timeout_seconds
最佳答案
我没有使用过 H2,但看起来它支持以下功能:
ALTER TABLE task_def DROP COLUMN retry_count;
ALTER TABLE task_def DROP COLUMN timeout_seconds;
ALTER TABLE task_def DROP COLUMN retry_count, timeout_seconds;
当然,如果 postgresql 也允许这样做。
总而言之,我认为 H2 无法用它的方言覆盖 postgres 提供的所有功能,因此这样的失败是不可避免的。
因此,根据我的经验,以下方法效果更好:
创建 postgres 的“测试容器”(请参阅 testcontainers 项目)并配置 Flyway/数据源以在测试中对其运行。根据您的测试基础设施,您甚至可以不停止容器,而是删除数据库并在每个测试用例之前运行 Flyway。或者,您可以像在 Spring 测试中一样 - 在运行测试之前创建一个人工事务,并在测试完成时“失败”它(即使它成功完成),这样数据库就不会在下一个测试中变脏。
关于java - Flyway h2 postgressql 模式迁移不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59154570/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!