2

今日、grails database-migration プラグインのテストを開始しました。ドメインとの最初の同期を行ってから、diff コマンドの実行に基づいて新しい変更ログを作成しました。これは、列の名前を変更し、その列にインデックスを (再) 割り当てるだけの簡単なものでした。だから私は次のことを期待しています...

changeSet(author: "gdboling (generated)", id: "1306242441630-1") {
    addColumn(tableName: "manuscript_review_reviewer") {
        column(name: "reviewer_id", type: "bigint") {
            constraints(nullable: "false")
        }
    }
}
changeSet(author: "gdboling (generated)", id: "1306242441630-2") {
    addPrimaryKey(columnNames: "manuscript_review_id, reviewer_id", constraintName: "manuscript_rePK", tableName: "manuscript_review_reviewer")
}
changeSet(author: "gdboling (generated)", id: "1306242441630-3") {
    dropPrimaryKey(tableName: "manuscript_review_reviewer")
}
changeSet(author: "gdboling (generated)", id: "1306242441630-4") {
    dropForeignKeyConstraint(baseTableName: "manuscript_review_reviewer", baseTableSchemaName: "manning_main_dev", constraintName: "FK9BEFBBB34863C659")
}
changeSet(author: "gdboling (generated)", id: "1306242441630-179") {
    addForeignKeyConstraint(baseColumnNames: "reviewer_id", baseTableName: "manuscript_review_reviewer", constraintName: "FK9BEFBBB3A28B41DF", deferrable: "false", initiallyDeferred: "false", referencedColumnNames: "id", referencedTableName: "user", referencesUniqueColumn: "false")
}
changeSet(author: "gdboling (generated)", id: "1306242441630-212") {
    dropColumn(columnName: "user_id", tableName: "manuscript_review_reviewer")
}

それはすべて順調です。ただし、私の変更とは関係のない多くの dropIndex および createIndex ブロックも見られます。なぜこれが当てはまるのか誰にも分かりますか?

4

1 に答える 1

1

http://jira.grails.org/browse/GPDATABASEMIGRATIONで、再現する情報 (データベース ベンダーと、理想的にはいくつかのコードとデータベース スキーマ) を添えて問題を書き上げてください。何がで​​きるか見てみましょう。最悪のシナリオは、複数の要素を 1 つに折りたたむ必要がある場合です。これは自動化するのが難しい作業であり、通常は人間の介入が必要です。

于 2011-05-24T18:39:12.510 に答える