如何使用flyway将文件上传到PostgreSQL数据库?

时间:2014-04-10 16:37:16

标签: postgresql jdbc flyway

我在Windows 7 IntelliJ IDEA 12,JDK 7,MyBatis,Spring 3中使用以创建REST Web应用程序(带有flyway-maven-plugin的Maven项目)。我使用Flyway来应对sql迁移。现在我需要将一些文件加载​​到PostgreSQL 9.2数据库。我找到了这个主题:https://dba.stackexchange.com/questions/1742/how-to-insert-file-data-into-a-postgresql-bytea-column

我想从该帖子中使用bytea_import。此自定义函数需要上载文件的路径(它位于resources文件夹中)。如何正确设置此类文件的相对路径?迁移期间被视为当前文件夹的是什么?

2 个答案:

答案 0 :(得分:2)

不确定bytea_import(如果你让它工作,请告诉我!),但你应该能够使用Java-based migrations轻松实现这一点。

答案 1 :(得分:1)

您可以使用Java-based migrations。如果您仍想使用SQL-based migrations,请使用Flyway占位符。使用* .pom属性在占位符中保存所需的路径。例如:

<flyway.placeholders.rtfPath>${project.build.outputDirectory}/rtf</flyway.placeholders.rtfPath>

然后在SQL迁移文件中使用rtfPath,以生成上传文件的完整路径。