Mssql, SqlAlchemy и «ForeignKeyConstraint с повторяющимися ссылками на исходные столбцы не поддерживаются». ⇐ Python

Программы на Python
Anonymous
Mssql, SqlAlchemy и «ForeignKeyConstraint с повторяющимися ссылками на исходные столбцы не поддерживаются».

Сообщение Anonymous »

Я наткнулся на небольшую характеристику SqlAlchemy:

Код: Выделить всё

ForeignKeyConstraint with duplicate source column references are not supported.
при попытке использовать Python:

Код: Выделить всё

pd.read_sql_table('my_table', con=engine)
В таблице действительно есть повторяющиеся ссылки на исходные столбцы, но это совершенно верно:

Код: Выделить всё

CREATE TABLE [dbo].[my_table] (
[id]                                   INT             IDENTITY (10, 10) NOT NULL,
...
[manufacturer_ref]                     VARCHAR (32)    NULL,
[cpu_manufacturer_ref]                 VARCHAR (32)    NULL,
[vendor_ref]                           VARCHAR (32)    NULL,
...
CONSTRAINT [PK_my_table] PRIMARY KEY CLUSTERED ([id] ASC),
CONSTRAINT [FK_my_table_cpu_manufacturer] FOREIGN KEY ([cpu_manufacturer_ref]) REFERENCES [dbo].[company] ([id]),
CONSTRAINT [FK_my_table_manufacturer] FOREIGN KEY ([manufacturer_ref]) REFERENCES [dbo].[company] ([id]),
CONSTRAINT [FK_my_table_vendor] FOREIGN KEY ([vendor_ref]) REFERENCES [dbo].[company] ([id])
);
По-видимому, это была ошибка в 2017/2018 году в любой версии SqlAlchemy, которая существовала тогда, поэтому я не думаю, что сегодня это будет ошибка.
Я пробовал указывать имена столбцов в вызове, чтобы не связывать ссылки FK, но это ничего не меняет. Есть ли какое-то обходное решение?
ОБНОВЛЕНИЕ:
Итак, я изначально думал, что ошибка возникает, потому что у нас есть три столбца, ссылающиеся на одну и ту же вторичную таблицу. . В качестве эксперимента я удалил менее используемые FK и заменил их индексами. Я все еще получаю ту же ошибку.

Подробнее здесь: https://stackoverflow.com/questions/790 ... umn-refere

Вернуться в «Python»