0

そのため、最近、自分のサイトを heroku にプッシュできるように、sqlite から postgres に変更しました。私が抱えている問題は、テーブルが順不同で構築されていることです??

class Data(Base):
    __tablename__ = 'data'
    id = Column(Integer, autoincrement=True, primary_key=True)
    data_type = Column(Integer, primary_key=True, unique=True)
    value = Column(Text, primary_key=True, unique=True)
    range_lower = Column(Integer)
    range_upper = Column(Integer)
    gold = Column(Boolean)

    def __init__(self, data_type, value, range_lower=0, range_upper=0, gold=False):
        self.data_type = data_type
        self.value = value
        self.range_lower = range_lower
        self.range_upper = range_upper
        self.gold = gold




class Page(Base):
    __tablename__ = 'page'
    id = Column(Integer, autoincrement=True, primary_key=True)
    data_type = Column(Integer, ForeignKey('data.data_type'))
    description = Column(Text)
    annotations_per_page = Column(Integer)
    uses_gold = Column(Boolean)

    def __init__(self, data_type, description='default description', annotations_per_page=1, uses_gold=False):
        self.data_type = data_type
        self.description = description
        self.annotations_per_page = annotations_per_page
        self.uses_gold = uses_gold

私が抱えている問題は、sqlalchemy/pyramid、またはこれらのタイプのプロジェクトのいずれかで開発された python setup.py によって生成された populate スクリプトが、テーブル Data の前にテーブル Page を作成しようとしていることです。Page には Table に依存する外部キーがあるため、これは失敗しています。ドキュメントでこの問題についての言及が見つかりません。洞察をいただければ幸いです。

-サム

4

1 に答える 1