use*_*902 5 mysql maven flyway
我正在使用flyway来管理mysql中的多模式数据库,我使用Maven配置了flyway.我已经列出了一个名为'metadata'的数据库作为<schemas>标签中的第一个,因此flyway会将schema_version表放在这里.当我运行时,mvn flyway:migrate我期待这个表和metadata数据库被创建.Flyway 2.1.1尝试创建表,但不首先创建数据库,因此失败.
[DEBUG] Schemas: metadata,temp,OTHER_DBS_REDACTED [DEBUG] Schema `temp` already exists. Skipping schema creation. [DEBUG] Database: MySQL 5.6 [ERROR] com.googlecode.flyway.core.api.FlywayException: Error setting current sc hema to `metadata` [ERROR] Caused by com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unk nown database 'metadata'
我认为mvn flyway:init可能会创建模式,但是失败的是一个不同但明显相关的错误.
[INFO] --- flyway-maven-plugin:2.1.1:init (default-cli) @ database ---
[INFO] Creating Metadata table: `metadata`.`schema_version`
[ERROR] com.googlecode.flyway.core.api.FlywayException: Error executing statement at line 17: CREATE TABLE `metadata`.`schema_version` (
`version_rank` INT NOT NULL,
`installed_rank` INT NOT NULL,
`version` VARCHAR(50) NOT NULL,
`description` VARCHAR(200) NOT NULL,
`type` VARCHAR(20) NOT NULL,
`script` VARCHAR(1000) NOT NULL,
`checksum` INT,
`installed_by` VARCHAR(100) NOT NULL,
`installed_on` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`execution_time` INT NOT NULL,
`success` BOOL NOT NULL
) ENGINE=InnoDB
[ERROR] Caused by com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'metadata'
如果我create database metadata那么事情进展顺利.事实上,我很喜欢飞路.没有手动运行一些sql,有没有办法让flyway创建这个数据库?这只是一个错误吗?
TIA
现在,创建模式支持是要么全有要么全无的事情。如果所有模式都丢失,则将全部创建,否则将不会创建任何模式。
| 归档时间: |
|
| 查看次数: |
5868 次 |
| 最近记录: |