2

peewee (python) で ORM クラスモデルを定義したい 2 つのレガシー MySQL データベースがあります。具体的には、1 つのデータベースがフロントエンドデータを保持し、もう 1 つのバックエンドデータと、データベースのテーブル間の一部の情報が、1 つのデータベースから別のデータベースへの外部キーでリンクされます。

サンプル コード (クイック スタートの例に触発された実際のコードではありません):

import peewee

frontend = peewee.MySQLDatabase('frontend', host=host, user=user, passwd=passwd)
backend = peewee.MySQLDatabase('backend', host=host, user=user, passwd=passwd)

class User(peewee.Model):
   name = peewee.CharField()

   class Meta:
        database = frontend

class Tweet(peewee.Model):
   user = peewee.ForeignKeyField(User, related_name='tweets')
   content = peewee.TextField()

   class Meta:
       database = backend

docsを調べたところ、テーブル間で外部キーをリンクする直接的な方法が見つかりませんでした。また、提供されたpwiz.py scriptを使用して peewee モデルを生成しようとしましたが、これはフロントエンド データベースでは正常に機能しましたが、バックエンドでは機能しませんでした (おそらく、バックエンドはフロント エンドのみを参照しているように見えるため)。その逆ではありません)。それにもかかわらず、2 つのデータベースを持つモデルが可能かどうかを尋ねたいと思います。

4

1 に答える 1