Commit graph

137 commits

Author SHA1 Message Date
Patrick Barron f638ee6b09 Enable nullable for Jellyfin.Data and remove unnecessary attributes 2021-03-06 17:43:01 -05:00
Bond_009 b1fe28d0a6 Use GetEncodingOptions where possible 2021-02-21 02:58:30 +01:00
Bond_009 1ea2b200c0 JsonSerializer deserialize from bytes where possible
This is faster and uses way less memory
```
BenchmarkDotNet=v0.12.1, OS=fedora 32
Intel Core i7-6700HQ CPU 2.60GHz (Skylake), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=5.0.100
  [Host]     : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT
  DefaultJob : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT

| Method |     Mean |   Error |  StdDev |   Gen 0 | Gen 1 | Gen 2 | Allocated |
|------- |---------:|--------:|--------:|--------:|------:|------:|----------:|
|  Bytes | 158.4 us | 2.56 us | 2.14 us | 16.8457 |     - |     - |  52.08 KB |
| String | 172.8 us | 0.78 us | 0.70 us | 41.5039 |     - |     - | 127.82 KB |
| Custom | 155.5 us | 2.95 us | 2.76 us | 10.0098 |     - |     - |  31.27 KB |
```
2021-01-12 15:28:02 +01:00
crobibero 3a6501abe0 Fix another key collision in MigrateDisplayPreferencesDatabase 2020-12-21 17:28:06 -07:00
Claus Vium 21d2e9ff0c
Merge pull request #4771 from crobibero/typed-get-preference
Use typed UserManager GetPreference
2020-12-16 22:15:56 +01:00
crobibero b670937c3d Use typed UserManager GetPreference 2020-12-11 15:00:43 -07:00
crobibero eefe87f537 Remove CustomItemDisplayPreferences unique key collision 2020-12-06 09:11:00 -07:00
Joshua M. Boniface b96d4ef0e8
Merge pull request #4653 from crobibero/favorite-persons
Optimize FavoritePersons query
2020-12-04 20:05:35 -05:00
Joshua M. Boniface 4e6584c345
Merge pull request #4652 from crobibero/display-preferences
Add support for custom item display preferences
2020-12-04 20:05:04 -05:00
crobibero 76250a8895 Use md5 Guid for legacy compat 2020-12-04 16:27:31 -07:00
crobibero 3db6ae91f6 Add ItemId to all display preferences 2020-12-04 16:00:11 -07:00
crobibero 60b7e49a7f Suggestions from code review 2020-12-04 08:00:55 -07:00
crobibero e765184afa Fix existing DisplayPreferences migration 2020-12-03 15:00:26 -07:00
crobibero 589625a349 Don't die if folder doesn't have id 2020-12-01 17:36:36 -07:00
Greenback 14fc7e6408 revert changes. 2020-11-19 15:40:20 +00:00
Greenback 18855a7884 Initialial upload 2020-11-19 13:34:09 +00:00
Cody Robibero 1d059bc76b
Update Jellyfin.Server/Migrations/Routines/MigrateDisplayPreferencesDb.cs 2020-11-12 07:33:12 -07:00
crobibero 7375d70396 Skip migration if user doesn't exist 2020-11-11 07:17:19 -07:00
Fernando Fernández 27a1337cf3
Remove underscore
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2020-11-10 10:24:05 +01:00
Fernando Fernández d6a04fd406 Remove setting from existing libraries with a migration 2020-11-10 02:12:50 +01:00
crobibero ec8967b8e6 Fix partial library and channel access 2020-08-27 10:00:06 -06:00
crobibero de4cfa2234 Apply suggestions from code review 2020-08-26 08:45:59 -06:00
crobibero 78ae86b86a Apply suggestions from code review 2020-08-26 08:23:35 -06:00
crobibero 5f64ab02a0 bump System.Text.Json 2020-08-25 07:33:58 -06:00
Patrick Barron ad32800504 Switch to unstable chromecast version. 2020-08-01 14:56:32 -04:00
Patrick Barron a6bc4c688d Add using statement to DisplayPreferences migration 2020-08-01 14:52:45 -04:00
Patrick Barron c094916df0 Migrate default library display preferences. 2020-07-28 09:19:25 -04:00
Patrick Barron 4b8ab1a803 Set default value of SortBy during migrations. 2020-07-27 21:01:08 -04:00
Patrick Barron 754837f16f Add tv home. 2020-07-27 20:50:58 -04:00
Patrick Barron 68a185fd02 Serialize/deserialize new entities properly. 2020-07-27 20:40:21 -04:00
Patrick Barron 9fcf23bd21 Migrate EnableNextVideoInfoOverlay 2020-07-24 16:34:19 -04:00
Patrick Barron 0d13d830bb Migrate skip lengths. 2020-07-24 16:30:54 -04:00
Patrick Barron 629ffe395f Fixed build errors. 2020-07-23 20:36:36 -04:00
Patrick Barron 3d69cea1c9
Merge branch 'master' into displaypreferences-efcore 2020-07-23 23:50:12 +00:00
Patrick Barron 9f323e5579 Add missing chromecast version serialization/deserialization. 2020-07-22 14:37:17 -04:00
crobibero 6c076b2162 Try adding plugin repository again 2020-07-21 08:27:12 -06:00
crobibero 9343e73b26 Allow migration to optionally run on fresh install 2020-07-20 07:45:24 -06:00
Patrick Barron ab396225ea Migrate Display Preferences to EF Core 2020-07-17 16:11:53 -04:00
dkanada 3d65cbdf07
apply suggestions from code review
Co-authored-by: Vasily <JustAMan@users.noreply.github.com>
2020-06-22 21:59:56 +09:00
dkanada f5d82441a4
Merge branch 'master' into custom-repos 2020-06-17 02:09:32 +09:00
Patrick Barron 42b4f0aa2e Merge branch 'master' into userdb-efcore
# Conflicts:
#	Emby.Server.Implementations/Library/UserManager.cs
#	Jellyfin.Data/Jellyfin.Data.csproj
2020-06-13 19:41:05 -04:00
dkanada 403cd3205f
Merge pull request #3254 from crobibero/ilogger
Use typed logger where possible
2020-06-13 00:29:43 +09:00
Patrick Barron 7a115024aa Merge branch 'master' into userdb-efcore
# Conflicts:
#	MediaBrowser.Controller/Library/ILibraryManager.cs
#	MediaBrowser.Providers/Users/UserMetadataService.cs
2020-06-11 18:23:12 -04:00
dkanada 5cdf951643
Merge pull request #3222 from barronpm/activitylog-migration-fix
Fix Activity Log Migrations for Very Old Databases
2020-06-11 19:27:42 +09:00
dkanada 8ac2f1bb8b simplify the custom repository feature for now 2020-06-06 22:02:30 +09:00
dkanada d6184dbadd remove unnecessary property for repository object 2020-06-06 18:57:00 +09:00
crobibero 44957c5a9a Use typed logger where possible 2020-06-05 18:15:56 -06:00
crobibero 340624c54b Move default repo addition to migration 2020-06-05 13:23:38 -06:00
Patrick Barron 06f9cde22f Merge branch 'master' into userdb-efcore
# Conflicts:
#	Emby.Server.Implementations/EntryPoints/ServerEventNotifier.cs
#	Emby.Server.Implementations/Library/UserManager.cs
#	Emby.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs
#	Emby.Server.Implementations/Sorting/IsPlayedComparer.cs
#	Emby.Server.Implementations/Sorting/IsUnplayedComparer.cs
#	Emby.Server.Implementations/TV/TVSeriesManager.cs
#	Jellyfin.Server.Implementations/Users/DefaultAuthenticationProvider.cs
2020-06-04 16:52:23 -04:00
Patrick Barron ef7bbb3b84 Use data binding instead of raw SQL 2020-06-04 14:54:43 -04:00
Patrick Barron b0281b79fd Fix a bug where very old Emby databases didn't use proper Guid's 2020-06-01 20:12:34 -04:00
Bond_009 4748105dce Enable TreatWarningsAsErrors for Jellyfin.Server.Implementations in Release mode 2020-05-29 11:28:19 +02:00
Patrick Barron 8ca78f33e9 Fix bug when migrating user db with users that have never logged in. 2020-05-28 14:21:26 -04:00
Patrick Barron fefb282137 Fixed issue when LastLoginDate or LastActivityDate were null 2020-05-26 22:30:23 -04:00
Patrick Barron 46a0a2a601 Update migrations and fix a few bugs 2020-05-26 21:20:55 -04:00
Patrick Barron e052128c52 Cleanup and fix more bugs 2020-05-23 16:07:42 -04:00
Patrick Barron e8173df9dc Cleanup 2020-05-23 15:33:14 -04:00
Patrick Barron 7d9d54d2ec Fix profile images. 2020-05-20 12:09:52 -04:00
Patrick Barron 1d1a145ad4 Fix issues and add profile image support 2020-05-20 10:04:00 -04:00
Patrick Barron e7b297c67b Add some missing properties 2020-05-20 10:04:00 -04:00
Patrick Barron 3eeb6576d8 Migrate User DB to EF Core 2020-05-20 10:04:00 -04:00
Patrick Barron aca7e221d8 Merge branch 'master' into userdb-efcore
# Conflicts:
#	Emby.Server.Implementations/Activity/ActivityLogEntryPoint.cs
#	Emby.Server.Implementations/ApplicationHost.cs
#	Emby.Server.Implementations/Devices/DeviceManager.cs
#	Jellyfin.Server/Jellyfin.Server.csproj
#	Jellyfin.Server/Migrations/MigrationRunner.cs
#	MediaBrowser.Controller/Devices/IDeviceManager.cs
2020-05-15 17:20:07 -04:00
Mark Monteiro 757643e326 Merge remote-tracking branch 'upstream/master' into no-more-doppelgangers 2020-05-15 15:23:44 -04:00
Mark Monteiro 6e68702799 Do not run DELETE command if no extras are detected
Also log a message if no extras were detected 
Also log the path used for the database backup
Also add some comments to explain the migration
2020-05-15 15:12:26 -04:00
Vasily 43dc604e87 Fixed compilation, added backing db before removing extras 2020-05-15 21:49:45 +03:00
Patrick Barron 79dee27299 Fixed indentation 2020-05-15 14:33:36 -04:00
Vasily 034fe97eeb
Apply suggestions from code review
Co-authored-by: Mark Monteiro <marknr.monteiro@protonmail.com>
2020-05-15 21:32:56 +03:00
Patrick Barron a7c2e524a9 Apply more review suggestions 2020-05-15 14:09:15 -04:00
Patrick Barron a5dee36808 Apply more review suggestions 2020-05-15 12:51:18 -04:00
Vasily 7c57134535 Implement a cleanup migration 2020-05-15 02:30:28 +03:00
Patrick Barron 9925742918 Implement more review suggestions 2020-05-13 17:55:31 -04:00
Patrick Barron 511d20a100 Apply review suggestions 2020-05-13 15:03:35 -04:00
Patrick Barron b7621d762c 2nd half of changes 2020-05-13 00:00:57 -04:00
Patrick Barron c1360a1dc3 Merge branch 'master' into userdb-efcore
# Conflicts:
#	Emby.Server.Implementations/Data/SqliteUserDataRepository.cs
#	Emby.Server.Implementations/Library/UserManager.cs
#	Jellyfin.Data/Entities/User.cs
#	Jellyfin.Data/ISavingChanges.cs
#	Jellyfin.Server.Implementations/Jellyfin.Server.Implementations.csproj
#	Jellyfin.Server.Implementations/JellyfinDb.cs
#	Jellyfin.Server/Migrations/MigrationRunner.cs
#	MediaBrowser.Model/Notifications/NotificationOptions.cs
#	MediaBrowser.sln
2020-05-12 22:22:20 -04:00
Patrick Barron 9ad839c776 Initial migration code 2020-05-12 22:10:35 -04:00
Patrick Barron bac4bf96a0 Fix build errors 2020-05-12 12:50:17 -04:00
Patrick Barron 6379391f87
Merge branch 'master' into activitydb-efcore 2020-05-12 16:08:28 +00:00
Patrick Barron 032de931b1 Migrate activity db to EF Core 2020-05-02 18:32:22 -04:00
Mark Monteiro 1666f3ca14 Use dependency injection to construct migration routines 2020-04-16 23:40:32 -04:00
Bond_009 e9d1eabd53 Remove unused usings 2020-03-24 16:12:06 +01:00
Mark Monteiro 72bf920291 Use a Guid to uniquely identify migrations instead of a string name
Also use a list instead of an array to store executed migrations in the configuration class
2020-03-08 16:05:31 +01:00
Mark Monteiro 8dbb1c9257 Use logging.json instead of logging.user.json for override settings 2020-03-08 15:46:13 +01:00
Joshua M. Boniface ae9948ce04
Merge branch 'master' into logging-migration 2020-03-07 21:19:24 -05:00
Mark Monteiro 1295f6c79b Documentation and log message cleanup 2020-03-07 20:26:06 +01:00
Mark Monteiro 4c2b543b30 Rename IUpdater to IMigrationRoutine 2020-03-06 21:51:50 +01:00
Mark Monteiro 1a9908d094 Add migration to create "logging.user.json" 2020-03-06 19:11:42 +01:00
Vasily 55b429e5e8 Moved migration routines to their own directory 2020-03-05 20:40:17 +03:00