Skip to content

Commit

Permalink
Add check if table is populated (#36)
Browse files Browse the repository at this point in the history
  • Loading branch information
LucileRainteau authored Sep 25, 2023
1 parent ecdb873 commit 15dd933
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
2 changes: 1 addition & 1 deletion apps/recommendation/api/src/huggy/crud/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def get_user_profile(
iris_id = None

try:
user_table = get_available_table(bind_engine, "User")
user_table = get_available_table(db, bind_engine, "User")
except:
user_table = enriched_user.User

Expand Down
12 changes: 8 additions & 4 deletions apps/recommendation/api/src/huggy/models/enriched_user.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,20 @@ class UserMv(User):
}


def get_available_table(engine, model_base) -> str:
def check_table_is_empty(db, model_name):
table_is_empty = db.query(model_name).first() is None
return table_is_empty


def get_available_table(db, engine, model_base) -> str:
for suffix in ["", "Mv", "MvTmp", "MvOld"]:
model = f"{model_base}{suffix}"
try:
table_name = eval(model).__tablename__
result = inspect(engine).has_table(table_name)
table_is_empty = check_table_is_empty(db, eval(model))
print(eval(model), result)
except NameError:
print(f"Model {model} is not defined")
if result is True:
if result is True and table_is_empty is False:
return eval(model)
# print(f"{model_base} table does not exist in database.")
# return None

0 comments on commit 15dd933

Please sign in to comment.