簡體   English   中英

從 sql-server 數據庫到另一個數據庫創建所有表及其鍵和其他約束的副本

[英]create a copy of all tables with its key and other constraints from sql-server database to another database

我嘗試通過 python 中的 SQLAlchemy 復制 sql-server 的表及其鍵和其他約束

`from sqlalchemy import *
DATABASE_CONN = f'mssql://@{SERVER}/{DATABASE}?driver={DRIVER}'

DATABASE_CONN2 = f'mssql://@{SERVER}/{DB2}?driver={DRIVER}'

engine = create_engine(DATABASE_CONN)

engine2 = create_engine(DATABASE_CONN2)

connection = engine.connect() connection2 = engine2.connect()

metadata = MetaData() table = Table('table_name', metadata, autoload=True, autoload_with=engine) table.create(engine2)

錯誤:

sqlalchemy.exc.NoSuchTableError: table_name

如果我使用特定的表名而不是“table_name”,那么它會在新數據庫中創建該表,但我必須為所有表執行此操作,因此任何技術來解決此問題並使用其鍵和其他約束復制所有表一個 go。

您可以在一秒鍾內從一個數據庫中重新創建所有表模式,方法是將第一個模式反映到元數據 object 中,然后在第二個中創建表:

meta = MetaData()
meta.reflect(engine)
meta.create_all(engine2)

可以精確控制反映哪些表 - 查看反映數據庫對象metadata.reflect的文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM