我正在尝试使用现有数据库(在 MySQL 上)中的 liquibase (3.5.5)。
我使用 generateChangeLog 命令生成了一个 db.changelog.xml 文件。
C:/liquibase-3.5.5/liquibase.bat --driver=com.mysql.jdbc.Driver ^ --classpath=C:/Libraries/mysql-connector-java-5.1.37-bin.jar ^ --changeLogFile =db.changelog.xml ^ --url="jdbc:mysql://vbalder/izalerting" ^ --username= * ^ --password=* ^ generateChangeLog
结果: Liquibase 'generateChangeLog' Successful
生成的 db.changelog.xml 文件包含带有作者BGADEYNE (generated)
和 id 的更改集,这些更改集以1533645947580-
. 例如1533645947580-1
logicalFilePath="db.changelog.xml"
到 databaseChangeLog 标签我已经使用 changelogSync 命令来创建和填充 DATABASECHANGELOG 和 DATABASECHANGELOGLOCK 表。它们确实包含每个变更集的行。
C:/liquibase-3.5.5/liquibase --driver=com.mysql.jdbc.Driver ^ --classpath=C:/Libraries/mysql-connector-java-5.1.37-bin.jar ^ --changeLogFile=db .changelog.xml ^ --url="jdbc:mysql://vbalder/izalerting" ^ --username=izalerting ^ --password=alfa ^ changelogSync
结果: Liquibase 'changelogSync' Successful
添加了 Maven 依赖项:
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-cdi</artifactId>
<version>3.5.5</version>
</dependency>
添加了 CLI 组件:
@Dependent
public class LiquibaseProducer {
@Resource(name="java:/izalerting")
private DataSource dbConnection;
@Produces @LiquibaseType
public CDILiquibaseConfig createConfig() {
CDILiquibaseConfig config = new CDILiquibaseConfig();
config.setChangeLog("be/uzgent/iz/alerting/liquibase/db.changelog.xml");
config.setContexts("non-legacy");
return config;
}
@Produces @LiquibaseType
public DataSource createDataSource() throws SQLException {
return dbConnection;
}
@Produces @LiquibaseType
public ResourceAccessor create() {
return new ClassLoaderResourceAccessor(getClass().getClassLoader());
}
}
将应用程序部署到 WildFly 时,我可以看到这一点
2018-08-07 15:07:09,234 错误 [stderr](MSC 服务线程 1-4)信息 8/7/18 3:07 PM:liquibase.integration.cdi.CDILiquibase:启动 Liquibase 3.5.4 2018-08- 07 15:07:09,285 ERROR [stderr] (MSC service thread 1-4) INFO 8/7/18 3:07 PM: liquibase: 成功获取变更日志锁 2018-08-07 15:07:09,781 ERROR [stderr] (MSC 服务线程 1-4)INFO 8/7/18 3:07 PM:liquibase:从 PUBLIC.DATABASECHANGELOG 2018-08-07 15:07:09,814 读取错误 [stderr](MSC 服务线程 1-4)严重 8 /7/18 下午 3:07:liquibase:db.changelog.xml:db.changelog.xml::1533645947580-1::BGADEYNE(生成):更改集 db.changelog.xml::1533645947580-1::BGADEYNE(生成)失败。错误:表“ALERTRESULT”已经存在;SQL 语句:2018-08-07 15:07:09,815 ERROR [stderr](MSC 服务线程 1-4)CREATE TABLE PUBLIC。
DATABASECHANGELOG 表为每个变更集包含一行。
+------------------+-----------------------+-------------------+-----------+
| # ID | AUTHOR | FILENAME | EXECTYPE |
+------------------+-----------------------+-------------------+-----------+
| 1533645947580-1 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-2 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-3 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-4 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-5 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-6 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-7 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-8 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-9 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-10 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-11 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-12 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-13 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-14 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-15 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-16 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-17 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-18 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-19 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
| 1533645947580-20 | BGADEYNE (generated) | db.changelog.xml | EXECUTED |
+------------------+-----------------------+-------------------+-----------+
有谁知道我在这里做错了什么?
代替
@Resource(name="java:/izalerting")
我需要使用
@Resource(lookup="java:/izalerting")
在野蝇 9
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句