File storage rewrite (#2676)

* Restructure data layer part 2 (#2599)
* Refactor and separate image model
* Refactor image query builder
* Handle relationships in image query builder
* Remove relationship management methods
* Refactor gallery model/query builder
* Add scenes to gallery model
* Convert scene model
* Refactor scene models
* Remove unused methods
* Add unit tests for gallery
* Add image tests
* Add scene tests
* Convert unnecessary scene value pointers to values
* Convert unnecessary pointer values to values
* Refactor scene partial
* Add scene partial tests
* Refactor ImagePartial
* Add image partial tests
* Refactor gallery partial update
* Add partial gallery update tests
* Use zero/null package for null values
* Add files and scan system
* Add sqlite implementation for files/folders
* Add unit tests for files/folders
* Image refactors
* Update image data layer
* Refactor gallery model and creation
* Refactor scene model
* Refactor scenes
* Don't set title from filename
* Allow galleries to freely add/remove images
* Add multiple scene file support to graphql and UI
* Add multiple file support for images in graphql/UI
* Add multiple file for galleries in graphql/UI
* Remove use of some deprecated fields
* Remove scene path usage
* Remove gallery path usage
* Remove path from image
* Move funscript to video file
* Refactor caption detection
* Migrate existing data
* Add post commit/rollback hook system
* Lint. Comment out import/export tests
* Add WithDatabase read only wrapper
* Prepend tasks to list
* Add 32 pre-migration
* Add warnings in release and migration notes
This commit is contained in:
WithoutPants
2022-07-13 16:30:54 +10:00
parent 30877c75fb
commit 5495d72849
359 changed files with 43690 additions and 16000 deletions

View File

@@ -1,5 +1,21 @@
### **Warning:** this is an experimental release. Use at your own risk!
Please ensure you back up your **entire** stash system before using this build. This build should be considered experimental.
After migrating, please run a scan on your entire library to populate missing data, and to ingest identical files which were previously ignored.
Please report all issues to the following Github issue: https://github.com/stashapp/stash/issues/2737
### 💥 Known issues
* import/export functionality is currently disabled. Needs further design.
* missing covers are not currently regenerated. Need to consider further, especially around scene cover redesign.
* deleting galleries is currently slow.
* Don't include file extension as part of the title scan flag is not supported.
* Set name, date, details from embedded file metadata scan flag is not supported.
### ✨ New Features
* Added release notes dialog. ([#](https://github.com/stashapp/stash/pull/))
* Added support for identical files. Identical files are assigned to the same scene/gallery/image and can be viewed in File Info. ([#2676](https://github.com/stashapp/stash/pull/2676))
* Added release notes dialog. ([#2726](https://github.com/stashapp/stash/pull/2726))
### 🎨 Improvements
* Moved Changelogs to Settings page. ([#](https://github.com/stashapp/stash/pull/))
* Moved Changelogs to Settings page. ([#2726](https://github.com/stashapp/stash/pull/2726))

View File

@@ -0,0 +1,7 @@
### **Warning:** this is an experimental release. Use at your own risk!
Please ensure you back up your **entire** stash system before using this build. This build should be considered experimental.
This migration significantly changes the way that stash stores information about your files. This migration is not reversible.
After migrating, please run a scan on your entire library to populate missing data, and to ingest identical files which were previously ignored.

View File

@@ -1,9 +1,7 @@
// import migration32 from "./32.md";
import migration32 from "./32.md";
// type Module = typeof migration32;
type Module = typeof migration32;
// replace any with module once we add migration notes
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const migrationNotes: Record<number, any> = {
// 32: migration31,
export const migrationNotes: Record<number, Module> = {
32: migration32,
};

View File

@@ -1 +1,18 @@
### **Warning:** this is an experimental release. Use at your own risk!
Please ensure you back up your **entire** stash system before using this build. This build should be considered experimental.
After migrating, please run a scan on your entire library to populate missing data, and to ingest identical files which were previously ignored.
Please report all issues to the following Github issue: https://github.com/stashapp/stash/issues/2737
### 💥 Known issues
* import/export functionality is currently disabled. Needs further design.
* missing covers are not currently regenerated. Need to consider further, especially around scene cover redesign.
* deleting galleries is currently slow.
* Don't include file extension as part of the title scan flag is not supported.
* Set name, date, details from embedded file metadata scan flag is not supported.
### Other changes:
* Changelog has been moved from the stats page to a section in the Settings page.