Created
November 23, 2016 15:20
-
-
Save curiousest/eba63bd08cd4e538e5cd1238e4f7f97e to your computer and use it in GitHub Desktop.
Use automap_base to use an existing db with sqlalchemy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from sqlalchemy import MetaData, create_engine | |
from sqlalchemy.orm import sessionmaker | |
from sqlalchemy.ext.automap import automap_base | |
from sqlalchemy.sql import select | |
from sqlalchemy import func | |
engine = create_engine('postgres://db_user@db_host:5432/db_name', client_encoding='utf8') | |
Session = sessionmaker(bind=engine) | |
session = Session() | |
metadata = MetaData() | |
metadata.reflect(engine, only=['table_name1', 'table_name2']) | |
Base = automap_base(metadata=metadata) | |
Base.prepare() | |
TableName1, TableName2 = Base.classes.table_name1, Base.classes.table_name2 | |
s = select([TableName1]).where(TableName1.id > 1) | |
second_row_id = session.execute(s).scalar() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Tell line 16 I hate it. It will know what I mean.