Skip to content

Commit e1a3870

Browse files
feat: TT-276 The seed database was created (#304)
1 parent 41f2435 commit e1a3870

File tree

1 file changed

+22
-7
lines changed

1 file changed

+22
-7
lines changed

cosmosdb-emulator/init_emulator_db.py

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
from azure.cosmos import exceptions, CosmosClient, PartitionKey
2-
import os, sys
3-
2+
import os, sys, json
3+
4+
with open('/usr/src/app/cosmosdb-emulator/seed_database.json') as database_file:
5+
seed_database=json.load(database_file)
6+
47
sys.path.append("/usr/src/app")
58

69
DATABASE_ACCOUNT_URI = os.environ.get('DATABASE_ACCOUNT_URI')
@@ -21,29 +24,41 @@
2124
try:
2225
print('- Project')
2326
from time_tracker_api.projects.projects_model import container_definition as project_definition
24-
database.create_container_if_not_exists(**project_definition)
27+
project_container=database.create_container_if_not_exists(**project_definition)
28+
for project in seed_database['projects']:
29+
project_container.create_item(body=project)
2530

2631
print('- Project type')
2732
from time_tracker_api.project_types.project_types_model import container_definition as project_type_definition
28-
database.create_container_if_not_exists(**project_type_definition)
33+
project_type_container=database.create_container_if_not_exists(**project_type_definition)
34+
for project_type in seed_database['project_types']:
35+
project_type_container.create_item(body=project_type)
2936

3037
print('- Activity')
3138
from time_tracker_api.activities.activities_model import container_definition as activity_definition
32-
database.create_container_if_not_exists(**activity_definition)
39+
activity_container=database.create_container_if_not_exists(**activity_definition)
40+
for activity in seed_database['activities']:
41+
activity_container.create_item(body=activity)
3342

3443
print('- Customer')
3544
from time_tracker_api.customers.customers_model import container_definition as customer_definition
36-
database.create_container_if_not_exists(**customer_definition)
45+
customer_container=database.create_container_if_not_exists(**customer_definition)
46+
for customer in seed_database['customers']:
47+
customer_container.create_item(body=customer)
3748

3849
print('- Time entry')
3950
from time_tracker_api.time_entries.time_entries_model import container_definition as time_entry_definition
40-
database.create_container_if_not_exists(**time_entry_definition)
51+
time_entry_container=database.create_container_if_not_exists(**time_entry_definition)
52+
for time_entry in seed_database['time_entries']:
53+
time_entry_container.create_item(body=time_entry)
4154

4255
print('- Technology')
4356
from time_tracker_api.technologies.technologies_model import container_definition as technologies_definition
4457
database.create_container_if_not_exists(**technologies_definition)
4558
except exceptions.CosmosResourceExistsError as e:
4659
print("Unexpected error while creating initial database schema: %s" % e.message)
4760

61+
database_file.close()
62+
4863
print("Done!")
4964

0 commit comments

Comments
 (0)