我一直在使用Play框架(scala)和H2作为后端开发网站。测试很好集成,特别是能够对内存中的H2数据库运行测试。
现在我想将我的数据存储迁移到Postgres上,出于各种方便的原因。这给我留下了一个问题:如何继续测试并保留每个测试运行的新鲜数据库的简单性?我在网上看到一些人通过在Postgres上实时运行并在H2上进行测试来解决这个问题。然而,在SQL层面上两者并不完全兼容(即使是在Postgres兼容模式下的H2)。例如,SERIAL、BIGSERIAL和BYTEA在H2上不受支持。
我可以通过使用两种方言的约束兼容交集来解决这个问题,还是我错过了其他技术?
感谢任何帮助。
Alex
现在我想将我的数据存储迁移到Postgres上,出于各种方便的原因。这给我留下了一个问题:如何继续测试并保留每个测试运行的新鲜数据库的简单性?我在网上看到一些人通过在Postgres上实时运行并在H2上进行测试来解决这个问题。然而,在SQL层面上两者并不完全兼容(即使是在Postgres兼容模式下的H2)。例如,SERIAL、BIGSERIAL和BYTEA在H2上不受支持。
我可以通过使用两种方言的约束兼容交集来解决这个问题,还是我错过了其他技术?
感谢任何帮助。
Alex
ALTER TABLE ... RENAME COLUMN ... TO ...
的更改不再需要。但是不要忘记(在PostgreSQL中可选的)COLUMN
,在H2中它是必需的。 - Itchy