У меня есть две модели -
Станция:
class Station(db.Model):
"""Measurement station"""
__tablename__ = "station"
reference = db.Column(db.Text, nullable=False, primary_key=True)
name = db.Column(db.Text, nullable=False, primary_key=True)
status = db.Column(db.Text)
river_analyses = db.relationship("RiverAnalysis")
и
RiverAnalysis:
class RiverAnalysis(db.Model):
__tablename__ = "river_analysis"
id = db.Column(db.Integer, nullable=False, primary_key=True)
reference = db.Column(db.Text, db.ForeignKey("station.reference"), nullable=False)
station_ref = db.relationship("Station", foreign_keys=reference)
Когда я пытаюсь запустить flask db upgrade
используя этот код миграции
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('river_analysis', sa.Column('reference', sa.Text(), nullable=False))
op.create_foreign_key(None, 'river_analysis', 'station', ['reference'], ['reference'])
Я получаю эту ошибку: (psycopg2.ProgrammingError) there is no unique constraint matching given keys for referenced table "station"
.
Почему я получаю это, хотя station.reference
является первичным ключом Station
?
Спасибо за любую помощь, которую вы можете предоставить.