mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 20:34:37 +03:00
SQLite model refactoring (#3791)
* Remove ID from PerformerPartial * Separate studio model from sqlite model * Separate movie model from sqlite model * Separate tag model from sqlite model * Separate saved filter model from sqlite model * Separate scene marker model from sqlite model * Separate gallery chapter model from sqlite model * Move ErrNoRows checks into sqlite, improve empty result error messages * Move SQLiteDate and SQLiteTimestamp to sqlite * Use changesetTranslator everywhere, refactor for consistency * Make PerformerStore.DestroyImage private * Fix rating on movie create
This commit is contained in:
@@ -64,16 +64,19 @@ func (e *MismatchedSchemaVersionError) Error() string {
|
||||
}
|
||||
|
||||
type Database struct {
|
||||
Blobs *BlobStore
|
||||
File *FileStore
|
||||
Folder *FolderStore
|
||||
Image *ImageStore
|
||||
Gallery *GalleryStore
|
||||
Scene *SceneStore
|
||||
Performer *PerformerStore
|
||||
Studio *studioQueryBuilder
|
||||
Tag *tagQueryBuilder
|
||||
Movie *movieQueryBuilder
|
||||
Blobs *BlobStore
|
||||
File *FileStore
|
||||
Folder *FolderStore
|
||||
Image *ImageStore
|
||||
Gallery *GalleryStore
|
||||
GalleryChapter *GalleryChapterStore
|
||||
Scene *SceneStore
|
||||
SceneMarker *SceneMarkerStore
|
||||
Performer *PerformerStore
|
||||
Studio *StudioStore
|
||||
Tag *TagStore
|
||||
Movie *MovieStore
|
||||
SavedFilter *SavedFilterStore
|
||||
|
||||
db *sqlx.DB
|
||||
dbPath string
|
||||
@@ -89,17 +92,20 @@ func NewDatabase() *Database {
|
||||
blobStore := NewBlobStore(BlobStoreOptions{})
|
||||
|
||||
ret := &Database{
|
||||
Blobs: blobStore,
|
||||
File: fileStore,
|
||||
Folder: folderStore,
|
||||
Scene: NewSceneStore(fileStore, blobStore),
|
||||
Image: NewImageStore(fileStore),
|
||||
Gallery: NewGalleryStore(fileStore, folderStore),
|
||||
Performer: NewPerformerStore(blobStore),
|
||||
Studio: NewStudioReaderWriter(blobStore),
|
||||
Tag: NewTagReaderWriter(blobStore),
|
||||
Movie: NewMovieReaderWriter(blobStore),
|
||||
lockChan: make(chan struct{}, 1),
|
||||
Blobs: blobStore,
|
||||
File: fileStore,
|
||||
Folder: folderStore,
|
||||
Scene: NewSceneStore(fileStore, blobStore),
|
||||
SceneMarker: NewSceneMarkerStore(),
|
||||
Image: NewImageStore(fileStore),
|
||||
Gallery: NewGalleryStore(fileStore, folderStore),
|
||||
GalleryChapter: NewGalleryChapterStore(),
|
||||
Performer: NewPerformerStore(blobStore),
|
||||
Studio: NewStudioStore(blobStore),
|
||||
Tag: NewTagStore(blobStore),
|
||||
Movie: NewMovieStore(blobStore),
|
||||
SavedFilter: NewSavedFilterStore(),
|
||||
lockChan: make(chan struct{}, 1),
|
||||
}
|
||||
|
||||
return ret
|
||||
|
||||
Reference in New Issue
Block a user