2
SQLAlchemy允許我創建一個強大的數據庫實用程序。現在我不知道如何部署它。讓我來解釋它是如何用一個例子建:如何部署Python/SQLAlchemy應用程序?
# objects.py
class Item(object):
def __init__(self, name):
self.name = name
# schema.py
from sqlalchemy import *
from objects import Item
engine=create_engine('sqlite:///mydb.db')
metadata = MetaData(engine)
item_table = Table(
'items', metadata,
Column('id', Integer, primary_key=True),
Column('name', String(100))
)
item_mapper = mapper(Item, item_table)
metadata.create_all()
# application.py
from schema import engine, Item
from sqlalchemy import *
Session = sessionmaker(bind=engine)
class Browser(object):
def __init__(self):
self.s = Session()
def get_by_name(self, name):
return self.s.query(Item).filter_by(name=name)
正如你所看到的,我想提供的是最後一個接口(Browser
),我簡化了最終用戶的查詢。
如果你只是要求每個用戶打開一個Python的外殼和from application import Browser
似乎連接池的優點都沒有實現,因爲每個用戶創建不同的Session
類(而不是創建一個不同的session
實例)。
那麼,我應該寫一個服務器,用戶連接到?或者,你將如何部署這個假設的應用程序?
謝謝。