Flyway: init не создает базу данных схемы

Я использую flyway для управления базой данных с несколькими схемами в mysql, и я настроил flyway с помощью Maven. Я указал базу данных под названием «метаданные» первой в теге <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


person user2300902    schedule 19.04.2013    source источник
comment
Хороший вопрос, сейчас у меня точно такая же проблема   -  person pmckeown    schedule 20.04.2013


Ответы (1)


Прямо сейчас поддержка создания схемы - это все или ничего. Если все схемы отсутствуют, будут созданы все, в противном случае ни одна не будет создана.

person Axel Fontaine    schedule 20.04.2013
comment
Ах! Это был стержень. Я указал «временную» в качестве схемы для управления, и по умолчанию она уже существует в БД. Удаление этого из списка схем разрешено пролету для создания баз данных и таблицы schema_version. - person user2300902; 23.04.2013