Liquibase create/alter 数据库用户
Liquibase create/alter DB user
我想使用 Liquibase 创建和更改数据库用户。以下是针对 Oracle DB 执行此操作的 SQL 查询。
change password:
ALTER USER ADMIN IDENTIFIED BY ${user.password};
create user:
CREATE USER appuser IDENTIFIED BY ${user.password};
我想把密码参数化,但是changelog Property Substitution
没有SQL格式。
我选择 XML 作为后备选项,但无法将上述查询转换为 Liquibase XML 格式。我需要帮助将 alter/create 用户查询转换为 XML.
您可以在 XML 变更集中使用 SQL 标签,并使用标签编写任何 SQL 查询,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd">
<changeSet author="authorName" id="some-unique-id" dbms="${dbType}">
<sql endDelimiter=";" splitStatements="true" stripComments="true">
**My SQL query/ transactional logic goes here**
CREATE USER appuser IDENTIFIED BY ${user.password};
</sql>
</changeSet>
</databaseChangeLog>
然后您可以使用 Liquibase 变更日志 属性 替换 和密码值。使用 SQL 标签将允许您执行任何 SQL 查询(当然在正确的语法中),而不必担心 liquibase 变更集的 XML 语法。
有关 属性 替换的更多详细信息,请查看我在
上的回答
我想使用 Liquibase 创建和更改数据库用户。以下是针对 Oracle DB 执行此操作的 SQL 查询。
change password:
ALTER USER ADMIN IDENTIFIED BY ${user.password};
create user:
CREATE USER appuser IDENTIFIED BY ${user.password};
我想把密码参数化,但是changelog Property Substitution
没有SQL格式。
我选择 XML 作为后备选项,但无法将上述查询转换为 Liquibase XML 格式。我需要帮助将 alter/create 用户查询转换为 XML.
您可以在 XML 变更集中使用 SQL 标签,并使用标签编写任何 SQL 查询,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd">
<changeSet author="authorName" id="some-unique-id" dbms="${dbType}">
<sql endDelimiter=";" splitStatements="true" stripComments="true">
**My SQL query/ transactional logic goes here**
CREATE USER appuser IDENTIFIED BY ${user.password};
</sql>
</changeSet>
</databaseChangeLog>
然后您可以使用 Liquibase 变更日志 属性 替换 和密码值。使用 SQL 标签将允许您执行任何 SQL 查询(当然在正确的语法中),而不必担心 liquibase 变更集的 XML 语法。
有关 属性 替换的更多详细信息,请查看我在