在java spring

时间:2018-04-04 10:55:38

标签: java spring postgresql docker h2

正如标题所示,我正在尝试将我的h2数据库迁移到postgres docker。

我使用命令

转储了我的h2数据库
SCRIPT TO 'fileName'

然后我通过docker cp命令将文件复制到我的docker。之后,我创建了一个新数据库,并尝试启动

psql realdb < myfile.sql

给了我一系列错误,包括:

    ERROR:  syntax error at or near "."
LINE 1: ...TER TABLE PUBLIC.FILE_RECORD ADD CONSTRAINT PUBLIC.CONSTRAIN...
                                                             ^
ERROR:  syntax error at or near "CACHED"
LINE 1: CREATE CACHED TABLE PUBLIC.NODE_EVENT(
               ^
ERROR:  syntax error at or near "."
LINE 1: ...LTER TABLE PUBLIC.NODE_EVENT ADD CONSTRAINT PUBLIC.CONSTRAIN...
                                                             ^
ERROR:  relation "public.node_event" does not exist
LINE 1: INSERT INTO PUBLIC.NODE_EVENT(ID, DAY, HOUR, MINUTE, MONTH, ...
                    ^
NOTICE:  table "system_lob_stream" does not exist, skipping
DROP TABLE
ERROR:  syntax error at or near "CALL"
LINE 1: CALL SYSTEM_COMBINE_BLOB(-1);

所以我决定尝试将数据库转储为csv文件,这可能是一种更标准的方法,使用命令

call CSVWRITE( '/home/lee/test.csv' , 'SELECT * FROM PORT' )

这似乎只适用于一张桌子。有没有办法一次导出所有表?我如何将它们导入postgres docker?

有没有更好的方法来完成所有这些?

这是我的application.config

spring.datasource.url=jdbc:h2:/tmp/ossdb:testdb;MODE=PostgreSQL
spring.datasource.username=admin
spring.datasource.password=admin
spring.datasource.platform=postgresql

0 个答案:

没有答案