import os, psycopg2, psycopg2.extras, boto
from psycopg2.extensions import AsIs
table_name="log_files"
params=dict(table_name=AsIs(table_name))
# Open the connections to each database
conn_old = psycopg2.connect(os.environ['HEROKU_POSTGRESQL_ONYX_URL'])
conn_new = psycopg2.connect(os.environ['HEROKU_POSTGRESQL_BROWN_URL'])
## Create Curstors for each database
cur_old = conn_old.cursor(cursor_factory = psycopg2.extras.DictCursor)
cur_new = conn_new.cursor()
## Select files from the source db and fetch them.
cur_old.execute("SELECT * FROM %(table_name)s WHERE id = 4451744", params)
bucket=connect_to_s3()
for rec_old in cur_old:
columns = rec_old.keys()
values = rec_old
insert_statement = ('INSERT INTO %(table_name)s ( das_id, device_id, das_id_dev_id, log_filename, log_file, date_added )'
'VALUES ( %(das_id)s, %(device_id)s, %(das_id_dev_id)s, %(log_filename)s, %(log_file)s, %(date_added)s )'
)
params=dict(
table_name = AsIs(table_name),
das_id = values['das_id'],
device_id = values['device_id'],
das_id_dev_id = values['das_id_dev_id'],
log_filename = values['log_filename'],
date_added = values['date_added'],
## Help!
log_file = get_key(bucket, values['log_file']),
)
try:
cur_new.execute(insert_statement, params)
conn_new.commit()
except psycopg2.IntegrityError:
conn_new.rollback()
#close new connection
cur_new.close()
conn_new.close()
# close old connection
cur_old.close()
conn_old.close()