mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-07-08 18:55:00 -04:00
fix restore from backup
This commit is contained in:
parent
234db39cc7
commit
04ebc07333
@ -1,6 +1,7 @@
|
||||
import sqlalchemy as sa
|
||||
import sqlalchemy.orm as orm
|
||||
from mealie.core import root_logger
|
||||
from mealie.db.db_setup import SessionLocal
|
||||
from mealie.db.models._model_base import BaseMixins, SqlAlchemyBase
|
||||
from slugify import slugify
|
||||
from sqlalchemy.orm import validates
|
||||
@ -56,12 +57,13 @@ class Category(SqlAlchemyBase, BaseMixins):
|
||||
self.slug = slugify(name)
|
||||
|
||||
@staticmethod
|
||||
def create_if_not_exist(session, name: str = None):
|
||||
def create_if_not_exist(name: str = None):
|
||||
test_slug = slugify(name)
|
||||
result = session.query(Category).filter(Category.slug == test_slug).one_or_none()
|
||||
if result:
|
||||
logger.debug("Category exists, associating recipe")
|
||||
return result
|
||||
else:
|
||||
logger.debug("Category doesn't exists, creating tag")
|
||||
return Category(name=name)
|
||||
with SessionLocal() as session:
|
||||
result = session.query(Category).filter(Category.slug == test_slug).one_or_none()
|
||||
if result:
|
||||
logger.debug("Category exists, associating recipe")
|
||||
return result
|
||||
else:
|
||||
logger.debug("Category doesn't exists, creating tag")
|
||||
return Category(name=name)
|
||||
|
@ -126,11 +126,11 @@ class RecipeModel(SqlAlchemyBase, BaseMixins):
|
||||
self.perform_time = perform_time
|
||||
self.cook_time = cook_time
|
||||
|
||||
self.recipe_category = [x for x in [Category.get_ref(cat) for cat in recipe_category] if x]
|
||||
self.recipe_category = [x for x in [Category.create_if_not_exist(cat) for cat in recipe_category] if x]
|
||||
|
||||
# Mealie Specific
|
||||
self.settings = RecipeSettings(**settings) if settings else RecipeSettings()
|
||||
self.tags = [x for x in [Tag.get_ref(tag) for tag in tags] if x]
|
||||
self.tags = [Tag.create_if_not_exist(tag) for tag in tags]
|
||||
self.slug = slug
|
||||
self.notes = [Note(**note) for note in notes]
|
||||
self.rating = rating
|
||||
|
@ -1,6 +1,7 @@
|
||||
import sqlalchemy as sa
|
||||
import sqlalchemy.orm as orm
|
||||
from mealie.core import root_logger
|
||||
from mealie.db.db_setup import SessionLocal
|
||||
from mealie.db.models._model_base import BaseMixins, SqlAlchemyBase
|
||||
from slugify import slugify
|
||||
from sqlalchemy.orm import validates
|
||||
@ -35,13 +36,14 @@ class Tag(SqlAlchemyBase, BaseMixins):
|
||||
self.slug = slugify(self.name)
|
||||
|
||||
@staticmethod
|
||||
def create_if_not_exist(session, name: str = None):
|
||||
def create_if_not_exist(name: str = None):
|
||||
test_slug = slugify(name)
|
||||
result = session.query(Tag).filter(Tag.slug == test_slug).one_or_none()
|
||||
with SessionLocal() as session:
|
||||
result = session.query(Tag).filter(Tag.slug == test_slug).one_or_none()
|
||||
|
||||
if result:
|
||||
logger.debug("Tag exists, associating recipe")
|
||||
return result
|
||||
else:
|
||||
logger.debug("Tag doesn't exists, creating tag")
|
||||
return Tag(name=name)
|
||||
if result:
|
||||
logger.debug("Tag exists, associating recipe")
|
||||
return result
|
||||
else:
|
||||
logger.debug("Tag doesn't exists, creating tag")
|
||||
return Tag(name=name)
|
||||
|
@ -1,6 +1,7 @@
|
||||
import operator
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
from pprint import pprint
|
||||
|
||||
from fastapi import BackgroundTasks, Depends, File, HTTPException, UploadFile, status
|
||||
from mealie.core.config import app_dirs
|
||||
@ -98,6 +99,9 @@ def import_database(
|
||||
force_import=import_data.force,
|
||||
rebase=import_data.rebase,
|
||||
)
|
||||
|
||||
pprint(db_import)
|
||||
|
||||
background_tasks.add_task(create_backup_event, "Database Restore", f"Restore File: {file_name}", session)
|
||||
return db_import
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user