[英]Copy tables from one database to another in SQL Server, using Python
[英]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.