2つのプライマリキーを持つテーブルがあります.2番目のプライマリキーも外部キーです。私がDBに移入しようとすると、NOT NULL制約に失敗しました:items.id1というエラーが発生します。人口を埋めるとき、私は常にid2の既知のidを提供します。ですから、どのようにsqlalchemyをid1の自動インクリメントにすることができますか?2つのprimary_keysを持つSQLAlchemyテーブル最初のプライマリキーを自動インクリメントする方法
id1とid2の組み合わせは常に一意でなければならず、これらの2つの組み合わせはアイテムを識別するために使用されます。 id1はデータベースが複数の場所にあり、テーブルが時々同期しているので十分ではありません。
私はすでにこのソリューションを試してみましたが、それは時代遅れだともう動作しません:How to insert a row with autoincrement id in a multi-primary-key table?
EDIT:この問題の回避 作業はPostgresのDBを使用することです。 SQLiteは軽いですがダムです。
このautoincrement = Trueを試してください。 –
何も同じエラーはありません。 –
別のオプションは、2つの主キーの代わりにuuidsを使用することです。そうすることで、IDが一意であることを常に知ることができます: 'from uuid import uuid4; id = Column(String、primary_key = True、デフォルト=ラムダ:uuid4()) '。この時点で、外部キーにプライマリキーをドロップすることができます。これは、識別子として不要になったためです。 –