4
我想將對象從一個數據庫移動到另一個數據庫。映射是相同的,但表格是不同的。這是一個合併工具,需要將舊數據庫中的數據導入到新數據庫中。不過,我想我在這裏錯過了一些關於SQLAlchemy的基礎知識。它是什麼?無法將對象從一個數據庫移動到另一個數據庫
from sqlalchemy import Column, Float, String, Enum
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import orm
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
DeclarativeBase = declarative_base()
class Datum (DeclarativeBase):
__tablename__ = "xUnitTestData"
Key = Column(String, primary_key=True)
Value = Column(Float)
def __init__ (self, k, v):
self.Key = k
self.Value = v
src_engine = create_engine('sqlite:///:memory:', echo=False)
dst_engine = create_engine('sqlite:///:memory:', echo=False)
DeclarativeBase.metadata.create_all(src_engine)
DeclarativeBase.metadata.create_all(dst_engine)
SessionSRC = sessionmaker(bind=src_engine)
SessionDST = sessionmaker(bind=dst_engine)
item = Datum('eek', 666)
session1 = SessionSRC()
session1.add(item)
session1.commit()
session1.close()
session2 = SessionDST()
session2.add(item)
session2.commit()
print item in session2 # >>> True
print session2.query(Datum).all() # >>> []
session2.close()
是的,我想避免這樣做,因爲它看起來不雅觀。啊... – Sardathrion 2012-02-22 10:25:42
問題是如何在表格之間進行復制。如果SQLAlchemy無法執行簡單的表副本,或者您不知道如何執行該操作,請直接說出來。 – 2016-01-15 19:11:19