Skip to content

Instantly share code, notes, and snippets.

@curiousest
Created November 23, 2016 15:20
Show Gist options
  • Save curiousest/eba63bd08cd4e538e5cd1238e4f7f97e to your computer and use it in GitHub Desktop.
Save curiousest/eba63bd08cd4e538e5cd1238e4f7f97e to your computer and use it in GitHub Desktop.
Use automap_base to use an existing db with sqlalchemy
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()
@0atman
Copy link

0atman commented Nov 23, 2016

Tell line 16 I hate it. It will know what I mean.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment