diff --git a/cosmosdb-emulator/init_emulator_db.py b/cosmosdb-emulator/init_emulator_db.py index c4f16b37..31868293 100644 --- a/cosmosdb-emulator/init_emulator_db.py +++ b/cosmosdb-emulator/init_emulator_db.py @@ -1,6 +1,9 @@ from azure.cosmos import exceptions, CosmosClient, PartitionKey -import os, sys - +import os, sys, json + +with open('/usr/src/app/cosmosdb-emulator/seed_database.json') as database_file: + seed_database=json.load(database_file) + sys.path.append("/usr/src/app") DATABASE_ACCOUNT_URI = os.environ.get('DATABASE_ACCOUNT_URI') @@ -21,23 +24,33 @@ try: print('- Project') from time_tracker_api.projects.projects_model import container_definition as project_definition - database.create_container_if_not_exists(**project_definition) + project_container=database.create_container_if_not_exists(**project_definition) + for project in seed_database['projects']: + project_container.create_item(body=project) print('- Project type') from time_tracker_api.project_types.project_types_model import container_definition as project_type_definition - database.create_container_if_not_exists(**project_type_definition) + project_type_container=database.create_container_if_not_exists(**project_type_definition) + for project_type in seed_database['project_types']: + project_type_container.create_item(body=project_type) print('- Activity') from time_tracker_api.activities.activities_model import container_definition as activity_definition - database.create_container_if_not_exists(**activity_definition) + activity_container=database.create_container_if_not_exists(**activity_definition) + for activity in seed_database['activities']: + activity_container.create_item(body=activity) print('- Customer') from time_tracker_api.customers.customers_model import container_definition as customer_definition - database.create_container_if_not_exists(**customer_definition) + customer_container=database.create_container_if_not_exists(**customer_definition) + for customer in seed_database['customers']: + customer_container.create_item(body=customer) print('- Time entry') from time_tracker_api.time_entries.time_entries_model import container_definition as time_entry_definition - database.create_container_if_not_exists(**time_entry_definition) + time_entry_container=database.create_container_if_not_exists(**time_entry_definition) + for time_entry in seed_database['time_entries']: + time_entry_container.create_item(body=time_entry) print('- Technology') from time_tracker_api.technologies.technologies_model import container_definition as technologies_definition @@ -45,5 +58,7 @@ except exceptions.CosmosResourceExistsError as e: print("Unexpected error while creating initial database schema: %s" % e.message) +database_file.close() + print("Done!")