SQL Server Error 1785: Migration V2.9.0.20210423125133__assets_tags.sql fails with cascade delete conflict
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
db/migration/sqlserver/V2.9.0.20210423125133__assets_tags.sql から始めて、webapi.tag_groups にある2つの外部キーを調べます。新しい SQL Server データベースに対して Flyway migration を実行して Error 1785 を再現し、その後、無効なカスケードパスを導入せずに migration が正常に完了することを確認します。
索引モデルが issue の本文から書いたものです。
説明
Description
The Flyway migration V2.9.0.20210423125133__assets_tags.sql fails on SQL Server with Error 1785 due to multiple cascade delete paths on the tag_groups table.
Environment
- WebAPI Version: 2.8.1
- Database: Microsoft SQL Server 12.0 (Azure SQL Database)
- Database Driver: com.microsoft.sqlserver.jdbc.SQLServerDriver (mssql-jdbc-10.2.1)
- Flyway Version: 4.2.0
Error Message
SQL State : S0000
Error Code : 1785
Message : Introducing FOREIGN KEY constraint 'tag_groups_tag_fk' on table 'tag_groups' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Location : db/migration/sqlserver/V2.9.0.20210423125133__assets_tags.sql
Root Cause
The migration creates the tag_groups table with two foreign keys, both with ON DELETE CASCADE, both referencing the same parent table (tags):
CREATE TABLE webapi.tag_groups
(
tag_id INT NOT NULL,
group_id INT NOT NULL,
CONSTRAINT tag_groups_group_fk FOREIGN KEY (group_id) REFERENCES webapi.tags (id) ON DELETE CASCADE,
CONSTRAINT tag_groups_tag_fk FOREIGN KEY (tag_id) REFERENCES webapi.tags (id) ON DELETE CASCADE
);
Steps to Reproduce
- Set up fresh SQL Server database
- Configure WebAPI 2.8.1 to connect to SQL Server
- Enable Flyway migrations
- Start application
- Migration fails with Error 1785
Logs
- 主要言語
- Java
- スター
- 153
- フォーク
- 186
- 平均マージ
- 2日 12時間
- マージ済み PR(30日)
- 13
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
OHDSI/WebAPI のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
CDM cache warming still fails when cache.achilles.usePersonCount=false (missing `cc` alias in getBatchConceptRecordCount.sql)対応中かも @DG47 が 2 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
GET /conceptset/{id}/expression returns items in nondeterministic order (query has no ORDER BY)オープン
難易度 3/5 1〜2日 初心者へのやさしさ 67/100
OHDSI/WebAPI#2543 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
ChaosEngine: backup-remote doctor row passes while consumer mode hides bot memory from git対応中かも @MohabMohie が今日担当しました。 オープンagentic
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
ShaftHQ/SHAFT_ENGINE#7263 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
bug/错误
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
FCL-Team/FoldCraftLauncher#1951 ·
メンテナーはふだん 4 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
quarkusio/quarkus-agent-mcp#296 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
commons-app/apps-android-commons#7072 ·
メンテナーはふだん 1 日以内に返信