Hi all,

I used alembic to generate (auto) a migration which added a table to my 
postgresql DB which had a foreign key constraint matching two columns in 
the new table to two columns in an existing one. The two columns in the 
existing table where a joint primary key (hence unique). The generated 
migration had TWO lines for the foreign key constraint and that caused it 
to fail with this error
 

> there is no unique constraint matching given keys for referenced table 
>> "agency_version"
>
>  [SQL: '\nCREATE TABLE agency_tag (\n\tagency_id INTEGER NOT NULL, 
>> \n\ttransaction_id INTEGER NOT NULL, \n\tname VARCHAR(12), \n\tPRIMARY KEY 
>> (agency_id, transaction_id), \n\tFOREIGN KEY(agency_id) REFERENCES 
>> agency_version (agency_id), \n\tFOREIGN KEY(transaction_id) REFERENCES 
>> agency_version (transaction_id)\n)\n\n']
>
> The migration had these lines

sa.ForeignKeyConstraint(['agency_id', 'transaction_id'], 
> ['agency_version.agency_id'], ),
> sa.ForeignKeyConstraint(['transaction_id'], 
> ['agency_version.transaction_id'], ),


which when changed to 

sa.ForeignKeyConstraint(['agency_id', 'transaction_id'], 
> ['agency_version.agency_id', 'agency_version.transaction_id'], ),


worked allright.

Is postgresql the only DBMS which will complain about this? It took me a 
while to figure this out.

Thanks
 

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy-alembic" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy-alembic+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to