読み取り専用のリモートデータベースがあります。挿入された新しい行があるかどうかを確認してから、ローをローカルDBに挿入する必要があります。 dbをクエリして時間をかけてフィルタリングするソリューションは1つのみ表示されます。リモートデータベースからのトラック行の挿入
local_engine, remote_engine = create_engine('db_url'), create_engine('db_url')
Local_Session, Remote_Session = sessionmaker(bind=local_engine), sessionmaker(bind=remote_engine)
local_session, remote_session = Local_Session(), Remote_Session()
Base = declarative_base()
Base.metadata.reflect(local_engine)
class Model(Base):
__table__ = Base_class.metadata.tables['table']
while True:
lastest_date = local_session.query(Model).order_by(desc(Model.datefield)).first().datefield
new_rows = remote_session.query(Model).filter(Model.datefield > lastest_date).all()
#####
time.sleep(60)
これを行うにはもっとエレガントな方法がありますか?