我正在尝试使用现有数据库(在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-
开头)的changeSet。例如1533645947580-1
logicalFilePath="db.changelog.xml"
我使用了changelogSync命令来创建和填充DATABASECHANGELOG和DATABASECHANGELOGLOCK表。它们确实包含每个changeSet的行。
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错误[stderr](MSC服务线程1-4)信息8/7/18 3:07 PM:liquibase:成功获取更改日志锁定 2018-08-07 15:07:09,781错误[stderr](MSC服务线程1-4)信息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 PM: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错误[stderr](MSC服务线程1-4)创建表PUBLIC.alertresult(triggerid VARCHAR(255)NOT NULL,应用程序VARCHAR(40)NOT NULL,resultid INT NOT NULL,主题VARCHAR(255),内容CLOB,contenturl CLOB,executetime TIMESTAMP,html BOOLEAN DEFAULT TRUE NOT NULL,警报级别VARCHAR(20)DEFAULT'INFO'NOT NULL,可关闭的BOOLEAN DEFAULT TRUE NOT NULL,screenwidth INT,screenheight INT)[42101-173 ] [失败的SQL:CREATE TABLE PUBLIC.alertresult(triggerid VARCHAR(255)NOT NULL,应用程序VARCHAR(40)NOT NULL,resultid INT NOT NULL,主题VARCHAR(255),content CLOB,contenturl CLOB,executetime TIMESTAMP,html BOOLEAN DEFAULT是否NOT NULL,警报级别VARCHAR(20)DEFAULT'INFO'否NULL,可关闭的布尔默认值TRUE NOT NULL,屏幕宽度INT,屏幕高度INT)] 2018-08-07 15:07:09,816错误[stderr](MSC服务线程1-4)信息8/7/18 3:07 PM:liquibase:db.changelog.xml :: 1533645947580-1 :: BGADEYNE(已生成):成功释放更改日志锁定
DATABASECHANGELOG表包含每个changeSet的一行。
+------------------+-----------------------+-------------------+-----------+
| # 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 |
+------------------+-----------------------+-------------------+-----------+
有人知道我在这里做错什么吗?
答案 0 :(得分:0)
代替
@Resource(name="java:/izalerting")
我需要使用
@Resource(lookup="java:/izalerting")
在野蝇9上