Skip to content

Instantly share code, notes, and snippets.

@faustomilletari
Created April 26, 2020 17:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save faustomilletari/f0d3672d812235e395d432063e302eb0 to your computer and use it in GitHub Desktop.
Save faustomilletari/f0d3672d812235e395d432063e302eb0 to your computer and use it in GitHub Desktop.
Lambda function for database table creation (Medium post)
import json
from sqlalchemy import create_engine
from sqlalchemy import Table, Column, String, MetaData
class DB:
def __init__(self, user, password, host, port):
self.user = user
self.password = password
self.host = host
self.port = port
db_string = "postgres://{}:{}@{}:{}".format(
self.user,
self.password,
self.host,
self.port
)
self.db = create_engine(db_string)
self.meta = MetaData(self.db)
self.user_table = Table(
'users', self.meta,
Column('email', String, primary_key=True),
Column('name', String),
Column('surname', String),
Column('password', String),
Column('salt', String)
)
def create_tables(self):
self.meta.create_all(self.db)
return True
def lambda_handler(event, context):
db_instance = DB(
user='*****',
password='*****',
host='*****',
port=5432
)
db_instance.create_tables()
# TODO implement
return {
'statusCode': 200,
'body': json.dumps('All tables have been created')
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment