diff --git a/cosmosdb-emulator/init_emulator_db.py b/cosmosdb-emulator/init_emulator_db.py index 31868293..02c56e77 100644 --- a/cosmosdb-emulator/init_emulator_db.py +++ b/cosmosdb-emulator/init_emulator_db.py @@ -1,8 +1,5 @@ from azure.cosmos import exceptions, CosmosClient, PartitionKey -import os, sys, json - -with open('/usr/src/app/cosmosdb-emulator/seed_database.json') as database_file: - seed_database=json.load(database_file) +import os, sys sys.path.append("/usr/src/app") @@ -23,42 +20,50 @@ try: print('- Project') - from time_tracker_api.projects.projects_model import container_definition as project_definition - project_container=database.create_container_if_not_exists(**project_definition) - for project in seed_database['projects']: - project_container.create_item(body=project) + from time_tracker_api.projects.projects_model import ( + container_definition as project_definition, + ) + + database.create_container_if_not_exists(**project_definition) print('- Project type') - from time_tracker_api.project_types.project_types_model import container_definition as 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) + 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) print('- Activity') - from time_tracker_api.activities.activities_model import container_definition as activity_definition - activity_container=database.create_container_if_not_exists(**activity_definition) - for activity in seed_database['activities']: - activity_container.create_item(body=activity) + from time_tracker_api.activities.activities_model import ( + container_definition as activity_definition, + ) + + database.create_container_if_not_exists(**activity_definition) print('- Customer') - from time_tracker_api.customers.customers_model import container_definition as customer_definition - customer_container=database.create_container_if_not_exists(**customer_definition) - for customer in seed_database['customers']: - customer_container.create_item(body=customer) + from time_tracker_api.customers.customers_model import ( + container_definition as customer_definition, + ) + + database.create_container_if_not_exists(**customer_definition) print('- Time entry') - from time_tracker_api.time_entries.time_entries_model import container_definition as 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) + 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) print('- Technology') - from time_tracker_api.technologies.technologies_model import container_definition as technologies_definition + from time_tracker_api.technologies.technologies_model import ( + container_definition as technologies_definition, + ) + database.create_container_if_not_exists(**technologies_definition) except exceptions.CosmosResourceExistsError as e: - print("Unexpected error while creating initial database schema: %s" % e.message) - -database_file.close() + print( + "Unexpected error while creating initial database schema: %s" + % e.message + ) print("Done!") - diff --git a/docker-compose.yml b/docker-compose.yml index 5c9f7349..1394d8de 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -27,6 +27,8 @@ services: image: 'mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator' tty: true mem_limit: 3GB + cpu_count: 2 + restart: always ports: - '8081:8081' - '10251:10251' @@ -35,6 +37,7 @@ services: - '10254:10254' environment: - AZURE_COSMOS_EMULATOR_PARTITION_COUNT=7 + - AZURE_COSMOS_EMULATOR_ENABLE_DATA_PERSISTENCE=true - AZURE_COSMOS_EMULATOR_ARGS=/alternativenames=azurecosmosemulator # networks: