Ich versuche, eine Datenbank mit SQLAlchemy zu kopieren. Der erste Versuch war: < /p>
from from sqlalchemy import create_engine, MetaData
from sqlalchemy.orm import sessionmaker
from urls import engine_urls
engine1 = create_engine(engine_urls[0])
engine2 = create_engine(engine_urls[1])
metadata = MetaData()
metadata.reflect(engine1)
tables = metadata.tables
metadata.create_all(engine2)
Session1 = sessionmaker(bind=engine1)
from sqlalchemy import insert
with Session1.begin() as session:
for key in tables:
table_object = tables[key]
for row in session.query(table_object):
s = insert(table_object).\
values(**dict(zip(row.keys(), row)))
engine2.execute(s)
< /code>
Aber dieser Code funktioniert nicht, da die Reihenfolge, in der Einfügungen durchgeführt werden, willkürlich ist und dies gegen FK -Einschränkungen verstößt. Wenn Sie beispielsweise ein Kind vor einem Elternteil einfügen, wird dies zu einem solchen Verstoß führen. Wie könnte ich diese Aufgabe erfüllen? Gibt es einen Teil des Rahmens, der dies leicht tun würde? Ich kann es nicht finden.
Kopieren Sie eine Datenbank mit SQLalchemy in eine andere ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Sqlalchemy fügt unerwartet einen doppelten Datensatz in der Datenbank hinzu
by Anonymous » » in Python - 0 Replies
- 6 Views
-
Last post by Anonymous
-