diff --git a/src/tagstudio/core/library/alchemy/library.py b/src/tagstudio/core/library/alchemy/library.py index 6bca9a76..dea06d34 100644 --- a/src/tagstudio/core/library/alchemy/library.py +++ b/src/tagstudio/core/library/alchemy/library.py @@ -452,7 +452,7 @@ class Library: # TODO: are all of these commits necessary? session.add_all(namespaces) - session.commit() + session.flush() # Add default tag colors. tag_colors: list[TagColorGroup] = default_color_groups.standard() @@ -463,21 +463,21 @@ class Library: tag_colors += default_color_groups.neon() session.add_all(tag_colors) - session.commit() + session.flush() # Add default tags. session.add_all(get_default_tags()) - session.commit() + session.flush() # Add default field templates for template in get_default_field_templates(): session.add(template) - session.commit() + session.flush() # Ensure version rows are present session.add(Version(key=DB_VERSION_INITIAL_KEY, value=DB_VERSION)) session.add(Version(key=DB_VERSION_CURRENT_KEY, value=DB_VERSION)) - session.commit() + session.flush() # add folder for current path folder = Folder( @@ -486,7 +486,7 @@ class Library: ) session.add(folder) session.expunge(folder) - session.commit() + session.flush() self.folder = folder # Generate default .ts_ignore file @@ -512,6 +512,8 @@ class Library: ) ) + session.commit() + # everything is fine, set the library path self.library_dir = library_dir return LibraryStatus(success=True, library_path=library_dir)