constraints - sqlalchemy python update a primary key with foreign key restraints -
i need change primary key in multiple tables have foreign key restraints. thinking either update or copy entry updated primary key , delete old entry. how can accomplish either?
below minimal working set of tables. p , s rely on primary key of s , s relies on primary key of h.
i need update value of ever table 1 entry. continually limited on changing value because of constraints. rather not remove constraints can permanent solution later use.
class h(base): __tablename__ = 'ch' = column(string(255), nullable=false, primary_key=true) other_columns = column(string(255)) class s(base): __tablename__ = 'cs' = column(string(255), foreignkey('ch.a'), nullable=false, primary_key=true) sn = column(integer, nullable=false, primary_key=true) other_columns = column(date) header = relationship("h", backref=backref('cs', order_by=a, cascade='delete, all, delete-orphan'), foreign_keys='s.a') __table_args__ = (uniqueconstraint('a', 'sn', name='_a_sn_uc'),) class p(base): __tablename__ = 'cs_p' = column(string(255), nullable=false, primary_key=true) sn = column(integer, nullable=false, primary_key=true) ps = column(integer, nullable=false, primary_key=true) other_columns = column(string(255)) pa = relationship("s", backref=backref('cs_p', order_by=a, cascade='delete, all, delete-orphan')) __table_args__ = (uniqueconstraint('a', 'sn', 'ps', name='_a_sn_ps_uc'), foreignkeyconstraint([a, sn], [s.a, s.sn]),) class f(base): __tablename__ = 'cs_f' = column(string(255), nullable=false, primary_key=true) sn = column(integer, nullable=false, primary_key=true) fs = column(integer, nullable=false, primary_key=true) other_columns = column(string(255)) fa = relationship("s", backref=backref('cs_f', order_by=a, cascade='delete, all, delete-orphan')) __table_args__ = (uniqueconstraint('a', 'sn', 'fs', name='_a_sn_fs_uc'), foreignkeyconstraint([a, sn], [s.a, s.sn]),)
Comments
Post a Comment