【发布时间】:2015-03-13 08:08:17
【问题描述】:
我在 Heroku 上的应用使用 DATABASE_URL。这很容易用 Java 解析成带有用户名和密码的 JDBC URL。那里没有问题。但是,我有一个带有 maven 插件的 JOOQ 生成器和 Flyway 迁移器,我不知道如何将这些插件所需的 JDBC URL、用户名和密码获取到 maven。所以目前我在应用程序启动时这样做并不理想。当我的应用程序启动时,我得到 DATABASE_URL,解析它,然后进行 flyway 迁移和 jOOQ 代码生成。但我希望这发生在实际构建过程中,而不是在应用程序启动期间。
基本上我需要格式为 (postgres://user:pass@ec2-host:1234/path-to-db) 的 Heroku 环境变量可以在 maven 中作为这样的属性访问 (jdbc:postgresql:// ec2-host:1234?user=user&password=pass)。
我认为解决方案可能在于 maven 构建助手插件,但我无法完全正确地获取正则表达式属性规范。
谢谢
【问题讨论】:
-
对于 Flyway,您应该能够按原样传递 url。无需拆分我们的用户名和密码。
-
@AxelFontaine 我仍然认为“postgres://user:pass@ec2-host:1234/path-to-db”的heroku风格的URL必须被解析成这样的飞路“jdbc:postgresql://ec2-host:1234?user=user&password=pass”。
-
好点。你是对的。