1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using Comal.Classes;
- using InABox.Configuration;
- using InABox.Core;
- using InABox.Database;
- namespace PRS.Shared.Database_Update_Scripts;
- internal class Update_8_20 : DatabaseUpdateScript
- {
-
- public override VersionNumber Version => new(8, 20);
-
- public override bool Update()
- {
- var _provider = DbFactory.NewProvider(Logger.Main);
- MigrateSettings<V6Settings>(_provider);
- MigrateSettings<LogikalSettings>(_provider);
- return true;
- }
- private static void MigrateSettings<T>(IProvider provider) where T : BaseObject, new()
- {
- var _table = provider.GetTable<T>();
- if (_table != null)
- {
- var _entity = _table.Rows.FirstOrDefault()?.ToObject<T>();
- if (_entity != null)
- {
- var _config = new GlobalSettings()
- {
- Section = typeof(T).Name.Split('.').Last(),
- Key = "",
- Contents = Serialization.Serialize(_entity)
- };
- provider.Save(_config);
- }
- provider.DropTable<T>();
- }
- }
-
- }
|