in backend/bms_app/source_db/services.py [0:0]
def save_source_dbs(parsed_dbs_data, overwrite, project_id):
added = updated = skipped = 0
for raw_db_data in parsed_dbs_data:
source_db = db.session.query(SourceDB) \
.filter(
SourceDB.server == raw_db_data['server'],
SourceDB.db_name == raw_db_data['db_name'],
SourceDB.project_id == project_id)\
.first()
if source_db:
if overwrite:
deployment_exists = db.session.query(OperationDetails) \
.filter(Mapping.db_id == source_db.id) \
.filter(Mapping.id == OperationDetails.mapping_id) \
.count()
if not deployment_exists:
update_db(source_db, raw_db_data)
updated += 1
else:
skipped += 1
else:
skipped += 1
else:
add_db(raw_db_data, project_id)
added += 1
return {
'added': added,
'updated': updated,
'skipped': skipped
}