Подскажите, как можно использовать определенные модели Peewee на несколько баз данных Sqlite (не через стандартный модуль, а через APSW). Много баз данных будут с одинаковой структурой (3 таблицы, и 100к записей).
Способ с peewee.Proxy() не подошел (каждый раз нужно проводить инициализацию).
Пример с peewee.Proxy()
# -*- coding: utf-8 -*-
import peewee
from playhouse.apsw_ext import APSWDatabase
# Создаем прокси
database_proxy = peewee.Proxy()
class BaseModel(peewee.Model):
# Объявляем прокси вместо базы данных
class Meta:
database = database_proxy
class Simple(BaseModel):
name = peewee.CharField()
# БД №1
database1 = APSWDatabase('E:/Temp/simple1.db')
# БД №2
database2 = APSWDatabase('E:/Temp/simple2.db')
# Инициализируем прокси для БД №1
database_proxy.initialize(database1)
try:
# try потому что, APSW ругается на создание таблицы,
# которая уже существует (игнорирует safe=True)
database1.create_tables([Simple], safe=True)
except:
pass
Simple.create(name='name1')
# Инициализируем прокси для БД №2
database_proxy.initialize(database2)
try:
database2.create_tables([Simple], safe=True)
except:
pass
Simple.create(name='name2')
database1.close()
database2.close()