gpt4 book ai didi

python - Peewee ORM - 从一个主数据库中的多个数据库复制数据

转载 作者:搜寻专家 更新时间:2023-10-30 20:24:39 24 4
gpt4 key购买 nike

我想从多个数据库复制数据,处理它们,然后将它们移动到主数据库。所有数据库都具有相同的模式。

即使我打开和关闭数据库,peewee 始终连接到同一个数据库(列表中的第 3 个)并且不遵守连接顺序。

databases = [spie_db, opticsorg_db, phcom_db]


# map to a dictionary the values from the record
def mapping(record):
comp_d = {'name': record.name,
'address': record.address,
'country': record.country,
'website': record.website,
'domain': record.domain
}
return comp_d


def merge_data():
company_list = []
for database in databases:
database.connect()
# cycle trough db
for record in Company.select():
# append each record to the list
company_list.append(mapping(record))
database.close()
return company_list


# get data from the other databases
companies = merge_data()
# the merge database
db.connect()
# add records in the merge db
for company in companies:

Company.create(name=company['name'], address=company['address'], country=company['country'],
website=company['website'], domain=company['domain'])

db.close()

最佳答案

您需要在模型的元选项中手动设置数据库:

Company._meta.database = db
db.connect()
for company in companies:

Company.create(name=company['name'], address=company['address'], country=company['country'],
website=company['website'], domain=company['domain'])

关于python - Peewee ORM - 从一个主数据库中的多个数据库复制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41741901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com