Skip to content

Instantly share code, notes, and snippets.

@laughingman7743
Last active August 29, 2015 14:01
Show Gist options
  • Select an option

  • Save laughingman7743/0ea501fae2c8262f2edd to your computer and use it in GitHub Desktop.

Select an option

Save laughingman7743/0ea501fae2c8262f2edd to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from sqlalchemy.engine import create_engine
from sqlalchemy.orm.session import sessionmaker
from model import TableName
import redshift_connection_string as setting
def main():
engine = create_engine(setting.REDSHIFT_CONNECTION_STRING)
# debug sql
#engine = create_engine(setting.REDSHIFT_CONNECTION_STRING, echo=True)
conn = engine.connect()
session = sessionmaker(bind=engine)()
results = session.query(TableName).all()
for result in results:
print result.column_1
print result.column_2
print result.column_3
print result.column_4
print result.column_5
print result.column_6
session.close()
conn.close()
engine.dispose()
if __name__ == '__main__':
main()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.schema import Column
from sqlalchemy.dialects.postgresql import BIGINT, INTEGER, TIMESTAMP, VARCHAR, BOOLEAN, DATE, DOUBLE_PRECISION
Base = declarative_base()
class TableName(Base):
__tablename__ = 'TABLE_NAME'
__table_args__ = {'schema': 'SCHEMA_NAME'}
_id = Column('_id', BIGINT, primary_key=True)
column_1 = Column('column_1', INTEGER)
column_2 = Column('column_2', DOUBLE_PRECISION)
column_3 = Column('column_3', VARCHAR)
column_4 = Column('column_4', TIMESTAMP)
column_5 = Column('column_5', DATE)
column_6 = Column('column_6', BOOLEAN)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib
REDSHIFT_HOST = 'xxx.yyy.zzz.redshift.amazonaws.com'
REDSHIFT_PORT = 5439
REDSHIFT_USER = 'USER'
REDSHIFT_PASSWORD = 'PASSWORD'
REDSHIFT_DATABASE = 'DATABASE'
REDSHIFT_CONNECTION_STRING = 'postgresql+psycopg2://%(user)s:%(password)s@%(server)s:%(port)s/%(database)s' % \
{'user': REDSHIFT_USER,
'password': urllib.quote_plus(REDSHIFT_PASSWORD),
'server': REDSHIFT_HOST,
'port': REDSHIFT_PORT,
'database': REDSHIFT_DATABASE}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment