diff --git a/diner_installer.py b/diner_installer.py index 6ab14434c104e7aea83ba0774663a46c3c2a1bac..cbca8115e873b5e33e1f46a7befb0427243f300c 100644 --- a/diner_installer.py +++ b/diner_installer.py @@ -2,7 +2,11 @@ from sys import stderr from sqlalchemy.exc import SQLAlchemyError -from diner import DinerDatabase, Menu, Item, Order, OrderItem +from diner import DinerDatabase, Persisted, Menu, Item, Order, OrderItem + + +def already_has_data(session): + return any(session.query(table).first() is not None for table in Persisted.metadata.sorted_tables) def add_starter_data(session): @@ -27,9 +31,12 @@ def main(): diner_database.ensure_tables_exist() print('Tables created.') # session = diner_database.create_session() - # add_starter_data(session) - # session.commit() - # print('Records created.') + # if already_has_data(session): + # print('Not creating records because some already exist.') + # else: + # add_starter_data(session) + # session.commit() + # print('Records created.') except SQLAlchemyError as exception: print('Database setup failed!', file=stderr) print(f'Cause: {exception}', file=stderr)