5

Flyway を使用して mysql でマルチスキーマ データベースを管理しており、Maven を使用して flyway を構成しました。タグの最初に「メタデータ」というデータベースをリストした<schemas>ので、flyway はschema_versionここにテーブルを配置します。実行すると、mvn flyway:migrateこのテーブルmetadataデータベースが作成されることが期待されます。Flyway 2.1.1 はテーブルを作成しようとしますが、最初にデータベースを作成しないため、失敗します。

[デバッグ] スキーマ: メタデータ、一時、OTHER_DBS_REDACTED
[DEBUG] スキーマ `temp` は既に存在します。スキーマの作成をスキップしています。
[デバッグ] データベース: MySQL 5.6  
[エラー] com.googlecode.flyway.core.api.FlywayException: 現在の sc の設定中にエラーが発生しました
hema を `metadata` に
[エラー] com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException が原因: Unk
現在のデータベース「メタデータ」

スキーマを作成する可能性があると思いmvn flyway:initましたが、それは別の、しかし明らかに関連するエラーで失敗します。

[INFO] --- flyway-maven-plugin:2.1.1:init (default-cli) @ database ---
[情報] メタデータ テーブルを作成しています: `metadata`.`schema_version`
[エラー] com.googlecode.flyway.core.api.FlywayException: 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,
    「チェックサム」INT、
    `installed_by` VARCHAR(100) NOT NULL,
    `installed_on` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `execution_time` INT NOT NULL,
    `success` BOOL NOT NULL
) エンジン=InnoDB
[エラー] com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException が原因: 不明なデータベース 'メタデータ'

私ならcreate database metadata物事はスムーズに進みます。実際、私はフライウェイをかなり楽しんでいます。SQL を手動で実行する以外に、flyway にこのデータベースを作成させる方法はありますか? これは単なるバグですか?

ティア

4

1 に答える 1

4

現在、スキーマの作成のサポートは、オール オア ナッシングです。すべてのスキーマが欠落している場合、それらはすべて作成されます。それ以外の場合は作成されません。

于 2013-04-20T09:48:02.967 に答える