Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да направите заявка за няколко подобни бази данни с помощта на Peewee?

Следващото може би не е точен отговор на вашия проблем, но това, което опитах лично - успешно - е използването на playhouse.Proxy екземпляр за всяка схема, която искам да използвам, и се позовавам на съответен прокси във вътрешния клас Meta. Предполагам, че това ще работи и без прокси. Изглежда обаче, че търсите запитвания за кръстосани схеми и вече разбрахте какво измислих току-що.

#!/usr/bin/python

import sqlite3
import peewee
from peewee import *
from playhouse.proxy import *

database_a_proxy = Proxy()
database_b_proxy = Proxy()

class BaseModelA(Model):
    class Meta:
            database = database_a_proxy

class BaseModelB(Model):
    class Meta:
            database = database_b_proxy

class RelationInSchemaA(BaseModelA):
    textfield = CharField()

class RelationInSchemaB(BaseModelB):
    textfield = CharField()

database_a = SqliteDatabase('schemaA', **{})
database_b = SqliteDatabase('schemaB', **{})

database_a_proxy.initialize(database_a)
database_b_proxy.initialize(database_b)

try:
   RelationInSchemaA.create_table()
   RelationInSchemaB.create_table()
except:
   pass

RelationInSchemaA.create(textfield='Hello')  
RelationInSchemaB.create(textfield='PeeWee')

Е, това е възможно с ръчно генериран код от pwiz.py. Сигурен съм, че има по-елегантен и помързелив (т.е. не съм нетърпелив ) начин да направя и това, като използвам някаква фабрика, но все още не отделих много време на Python или PeeWee. Ако е така, pwiz.py трябва да има и допълнителен флаг за тази цел, предполагам.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Цикъл, докато паролата стане уникална

  2. Съкращаване на Mysql таблица Cron работа?

  3. Ръководство за проектиране на база данни за календарни събития и напомняния в MySQL

  4. Сравняване на решения за репликация от Oracle и MySQL

  5. Изглежда не мога да свържа моята PHP страница с моя SQL тестов сървър и база данни