Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để truy vấn một số cơ sở dữ liệu tương tự bằng Peewee?

Tiếp theo có thể không phải là câu trả lời chính xác cho vấn đề của bạn, nhưng điều mà tôi đã tự mình thử - thành công - là sử dụng playhouse.Proxy ví dụ cho mọi lược đồ tôi muốn sử dụng và tham chiếu đến một proxy tương ứng trong Meta lớp bên trong. Tôi đoán điều này cũng sẽ hoạt động mà không cần proxy. Tuy nhiên, có vẻ như bạn đang tìm kiếm các truy vấn lược đồ chéo và đã tìm ra những gì tôi nghĩ ra ngay bây giờ.

#!/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')

Chà, điều này có thể thực hiện được với mã được tạo thủ công từ pwiz.py. Tôi chắc chắn rằng có một lười biếng thanh lịch hơn (tức là không háo hức ) cách để làm điều này, sử dụng một số loại nhà máy, nhưng tôi chưa dành nhiều thời gian cho Python cũng như PeeWee. Nếu vậy, pwiz.py cũng nên có thêm một cờ cho mục đích này, tôi đoán vậy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menu lưu trữ blog PHP MYSQL theo năm và tháng

  2. Truy vấn Mysql tới ElasticSearch

  3. Bật chế độ nhị phân trong khi khôi phục Cơ sở dữ liệu từ kết xuất SQL

  4. Giá trị mặc định cấp Django DB cho một cột

  5. MySQL Connector / python không hoạt động trong django