Select Git revision
installer.py
Forked from
Brady James Garvin / advanced_orm_relations
Source project has a limited visibility.
-
Brady James Garvin authoredBrady James Garvin authored
installer.py 950 B
# -*- coding: utf-8; -*-
from sys import stderr
from sqlalchemy.exc import SQLAlchemyError
from database import Database, Person
def add_starter_data(session):
alice = Person(name='Alice')
bob = Person(name='Bob', mentor=alice)
carol = Person(name='Carol', supervisor=alice, mentor=bob)
session.add(alice)
session.add(bob)
session.add(carol)
def main():
try:
url = Database.construct_mysql_url('localhost', 3306, 'people', 'root', 'cse')
database = Database(url)
database.ensure_tables_exist()
print('Tables created.')
session = database.create_session()
add_starter_data(session)
session.commit()
print('Records created.')
except SQLAlchemyError as exception:
print('Database setup failed!', file=stderr)
print('Cause: {exception}'.format(exception=exception), file=stderr)
exit(1)
if __name__ == '__main__':
main()