Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 22 additions & 7 deletions cosmosdb-emulator/init_emulator_db.py
Original file line number Diff line number Diff line change
@@ -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')
Expand All @@ -21,29 +24,41 @@
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
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("Done!")