Commit Graph

47 Commits

Author SHA1 Message Date
Dean Herbert
4a19f22b3d Remove custom migration exception
This was hiding the true error message from ever hitting logs.
Made to help disagnose #2711.
2018-06-15 13:38:42 +09:00
Dean Herbert
3a823d6c25 Fix multiple issues causing database reset to fail 2018-06-04 02:12:16 +09:00
Dean Herbert
de8c4e6d56 Remove unique constraints on hash columns
We are going to allow multiple instances of the same beatmap info hash as they could be in different beatmap sets.
2018-05-29 16:26:32 +09:00
Dean Herbert
bcb04f6168 Improve transaction handling flexibility 2018-05-29 16:23:27 +09:00
Dean Herbert
d4e7f08c20 Bring entity framework up-to-date and re-enable transactions 2018-05-29 16:23:27 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
Dean Herbert
4c14b32783 Add basic skin database model layout and importing 2018-02-22 15:46:11 +09:00
Dean Herbert
8b37fde15b Only write when writes occur
Also add finaliser logic for safety. Also better threading. Also more cleanup.
2018-02-12 19:57:21 +09:00
Dean Herbert
e54de0c267 Remove sqlite-net migration
Anyone that may have benefited from this already has.
2018-02-12 15:25:09 +09:00
Dean Herbert
03154dbc63 Fix incorrect initial migration
Also adds variant to settings
2018-01-25 23:41:03 +09:00
Dean Herbert
5a00ae36d1 Add database-based configuration for rulesets 2018-01-24 17:45:28 +09:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
Dean Herbert
d02e1ae896 Update RulesetInfo and add migration 2017-12-10 12:15:55 +09:00
Dean Herbert
7d2bbc50a3 Add unique constraint on OnlineBeatmapID 2017-11-19 01:45:17 +09:00
smoogipoo
04b271cce9 Migrate osu.Game project to VS2017 project structure 2017-10-30 22:24:11 +09:00
Dean Herbert
487b888f4f Add missing database indices
Also add missing unique constraints where applicable.
2017-10-25 22:05:10 +09:00
Dean Herbert
66f1d2fb2e Ensure all parsed "Online" IDs are above zero or null
Some .osu file sources (or database sources) may be in a bad state. We want to get these ones right as they cannot be enforced by the database itself (via FKs or constraints).
2017-10-25 14:34:39 +09:00
Dean Herbert
22b3f5dd19 Merge remote-tracking branch 'upstream/master' into import-test-fixes 2017-10-23 22:03:37 +09:00
Dean Herbert
dc9c474033 Move all TestCases to Testing project
This allows tests to successfully retrieve rulesets, as they are referenced.
2017-10-23 19:32:02 +09:00
Dean Herbert
df20845fbb Share one context per file store for performance reasons
There is now a CreateContext method for retrieving a stand-alone context for threaded use.

We may want to add safety against this context being disposed (or just return a fresh one if it is).
2017-10-23 16:35:35 +09:00
Dean Herbert
4a68dd88cb Centralise BeginTransaction and disable transaction use for now 2017-10-23 14:53:13 +09:00
Dean Herbert
61c1dd3636 Don't output database logs unless DEBUG_DATABASE is specified compile-time 2017-10-22 19:46:08 +09:00
Dean Herbert
1514d8451e Use a more elegant method of setting the connection timeout 2017-10-22 16:20:04 +09:00
Dean Herbert
29fcd210aa Centralise transaction committing 2017-10-22 16:17:40 +09:00
Dean Herbert
39b356880e Fix typo 2017-10-22 15:32:47 +09:00
Dean Herbert
6818ebdaff Change the way migrations are checked for
This method allows switching between sqlite-net and EF builds without completely breaking. Note that DB migration still only happens in a forward direction, but this will allow switching back and forth without eventually being unable to start the game.
2017-10-22 15:27:16 +09:00
Dean Herbert
d32059a7ba Ignore include-ignore warnings for now 2017-10-20 09:25:54 +09:00
Dean Herbert
ca78078436 Add more logging output 2017-10-20 08:06:07 +09:00
Dean Herbert
efaf98c5cf Allow recovery from a very broken database 2017-10-20 00:48:27 +09:00
Dean Herbert
d9fd05a5af Hidden cannot be null 2017-10-19 23:19:30 +09:00
Dean Herbert
8aea6068ba Add fallback logic for the case where previous database can't be migrated 2017-10-19 21:37:09 +09:00
Dean Herbert
1672e0d6b6 Add fallback logic in case migration fails
Nuke it all.
2017-10-19 21:11:43 +09:00
Dean Herbert
1fbbee14e4 Allow migration from sqlite-net to EF
Bonus stage
2017-10-19 20:04:59 +09:00
Dean Herbert
f7d0df1743 Fix beatmap difficulty and metadata deletion 2017-10-19 17:50:46 +09:00
Dean Herbert
b02dd196f6 Don't make one factory each context
A factory is supposed to be re-used.
2017-10-19 17:29:39 +09:00
Dean Herbert
36c00577af Reduce database log output
Also hard-disables it for uninteresting log levels, providing a further performance boost.
2017-10-19 16:35:06 +09:00
Dean Herbert
5d5ea5fb2e Fix all remaining db structure issues 2017-10-19 14:05:11 +09:00
Dean Herbert
4e8019b313 Add some more missing indices 2017-10-17 19:59:22 +09:00
Dean Herbert
b9d0fb96ed Fix cascade deletions 2017-10-17 18:26:28 +09:00
Dean Herbert
3e415e3269 Fix tooling failures 2017-10-17 17:52:02 +09:00
Dean Herbert
e3d31bdd10 Not implemented instead of incorrect 2017-10-16 12:59:59 +09:00
Dean Herbert
129cca0704 Tidy up context creation 2017-10-16 12:59:59 +09:00
Dean Herbert
a232033469 Fix some file headers and unused files 2017-10-16 00:54:09 +09:00
smoogipoo
167eefa397 Add logging 2017-10-14 15:16:08 +09:00
TocoToucan
ef417c6388 Small DB-related refactoring 2017-10-09 23:30:32 +03:00
TocoToucan
81b9e08fb6 Fix foreign key constraint failure 2017-10-09 00:30:52 +03:00
TocoToucan
6a4198d0d6 Initial EF Core commit 2017-10-04 22:52:12 +03:00