如何在 Flyway DB 配置文件中指定多行属性值?
Posted
技术标签:
【中文标题】如何在 Flyway DB 配置文件中指定多行属性值?【英文标题】:How can I specify a multi-line property value in a Flyway DB configuration file? 【发布时间】:2014-11-10 15:01:16 【问题描述】:我正在尝试将 PGP 加密密钥放入 Flyway DB 配置文件中。像这样的:
# Encryption key for encrypting stuff
flyway.placeholders.encryptionKey=-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: BCPG C# v1.2.3.4
mQEGBFRgnDEBCACi4yRYnmLtgEBoXfx+YYwZ1b6xPRN5oZBqp76YGPwtVfNGOzpK
JKclFD1uIr/MIQZB89G2Z4gJB/q2E+CNbHUGc/bxU8DpGOOo3DsN2UP2xxz41sRY
7eW0SiSSIw2Cu+4dG3Ic+pBv8pxUFZDCyGCtENucfoxKe3J69IWNbBRCiftndW2A
Wf7vPyrygcD+9Ju/7OrLL7FnWJ66TZk6DUgjMm1c4J4ZoyHRfZHEvhx/j2OlxzIV
ysHXThyrVZzkO0sA0kobzJEfdpKhRg==
=SpNy
-----END PGP PUBLIC KEY BLOCK-----
然后我在更新 SQL 脚本中使用该属性,例如
UPDATE [MyTable] SET [MyColumn] = '$encryptionKey'
当我运行更新时,它只是使用密钥的第一行进行更新。有没有办法在 Flyway 配置文件中指定多行属性?
【问题讨论】:
【参考方案1】:必须在每一行的末尾添加 \n\,如下所示:
# Encryption key for encrypting stuff
flyway.placeholders.encryptionKey=-----BEGIN PGP PUBLIC KEY BLOCK----- \n\
Version: BCPG C# v1.2.3.4 \n\
\n\
mQEGBFRgnDEBCACi4yRYnmLtgEBoXfx+YYwZ1b6xPRN5oZBqp76YGPwtVfNGOzpK\n\
JKclFD1uIr/MIQZB89G2Z4gJB/q2E+CNbHUGc/bxU8DpGOOo3DsN2UP2xxz41sRY\n\
7eW0SiSSIw2Cu+4dG3Ic+pBv8pxUFZDCyGCtENucfoxKe3J69IWNbBRCiftndW2A\n\
Wf7vPyrygcD+9Ju/7OrLL7FnWJ66TZk6DUgjMm1c4J4ZoyHRfZHEvhx/j2OlxzIV\n\
ysHXThyrVZzkO0sA0kobzJEfdpKhRg==\n\
=SpNy\n\
-----END PGP PUBLIC KEY BLOCK-----
【讨论】:
以上是关于如何在 Flyway DB 配置文件中指定多行属性值?的主要内容,如果未能解决你的问题,请参考以下文章
如何在属性文件中指定值,以便可以使用 ResourceBundle#getStringArray 检索它们?