sql >> Database >  >> RDS >> PostgreSQL

sqlalchemy VIEW maken met ORM

de bibliotheek sqlalchemy-utils bevat nu functionaliteit voor het maken van weergaven en associeert de weergave met de metadata van sqlalchemy, zodat het mogelijk is om de weergave te maken met behulp van Base.metadata.create_all

voorbeeld:

# installation: pip install sqlalchemy-utils
from sqlalchemy_utils import create_view
from sqlalchemy import select, func

# engine Base & Table declaration elided for brevity

stmt = select([
    TableB.id.label('table_b_id'),
    TableB.coupon_code,
    TableB.number_of_rebought_items,
    TableA.id.label('table_a_action_id'),
    TableA.time,
    TableA.parameters
]).select_from(TableB.__table__.outerjoin(TableA, TableB.generate_action == TableA.id))

# attaches the view to the metadata using the select statement
view = create_view('my_view', stmt, Base.metadata)

# provides an ORM interface to the view
class MyView(Base):
    __table__ = view

# will create all tables & views defined with ``create_view``
Base.metadata.create_all()

# At this point running the following yields 0, as expected,
# indicating that the view has been constructed on the server 
engine.execute(select([func.count('*')], from_obj=MyView)).scalar() 



  1. Meerdere Oracle JDBC-stuurprogramma's gebruiken in één Java-toepassing?

  2. Hoe rechtvaardigt_hours() werkt in PostgreSQL

  3. Dubbelzinnige kolomnaamfout op een bepaalde server

  4. Geheugenlek in JDBC4Connection