Нужно провалидировать корректно ли я написал softReset(). Выше комментом оставил там имплементацию Android.
Постарался всё задокументировать из того, что будет использоваться далее при написании миграций.
Оставил миграции в файле Migrations для сборок для Андрея.
Сейчас миграции стартуют в CoreController до любой инициализации и даже до установки конфига в PersistenceStorage. Может надо его поставить после установки конфига? Или когда начнем миграции писать первые продовые, тогда перенесем туда, куда понадобится?
Процент покрытия кода `MigrationManager`Выпилил проверку в начале `migrate()`, которая должна была стопать процессы миграций раньше проверки на `isNeeded`, если константа и `sdkVersionCode` равны
```swift
// Вот эта вещь не нужна при входе в `migrate()`, если мы не хотим полностью завязываться на `sdkVersionCode`.
// Изначально писал, чтобы можно было при каждом последующем запуске скипать проверку на миграции,
// если поводов для миграций нет. Но если мы учитываем, что может быть миграция,
// которая не зависит от версии `sdkVersionCode`, то проверяться надобность миграций будет
// только при помощи `isInstalled`
guard persistenceStorage.versionCodeForMigration != localSdkVersionCode else {
let message = "[Migrations] Migrations will not be perfromed. PersistenceStorage.versionCodeForMigrations is equal to constantForMigrations"
Logger.common(message: message, level: .info, category: .migration)
return
}
```
Добавить возможность использовать изменение версии SDK (поддержка миграций)#3411.
Последнее обсуждение и решения
Нужно провалидировать корректно ли я написал
softReset()
. Выше комментом оставил там имплементацию Android.Постарался всё задокументировать из того, что будет использоваться далее при написании миграций.
Оставил миграции в файле Migrations для сборок для Андрея.
Сейчас миграции стартуют в
CoreController
до любой инициализации и даже до установки конфига вPersistenceStorage
. Может надо его поставить после установки конфига? Или когда начнем миграции писать первые продовые, тогда перенесем туда, куда понадобится?Процент покрытия кода `MigrationManager`
Выпилил проверку в начале `migrate()`, которая должна была стопать процессы миграций раньше проверки на `isNeeded`, если константа и `sdkVersionCode` равны
```swift // Вот эта вещь не нужна при входе в `migrate()`, если мы не хотим полностью завязываться на `sdkVersionCode`. // Изначально писал, чтобы можно было при каждом последующем запуске скипать проверку на миграции, // если поводов для миграций нет. Но если мы учитываем, что может быть миграция, // которая не зависит от версии `sdkVersionCode`, то проверяться надобность миграций будет // только при помощи `isInstalled` guard persistenceStorage.versionCodeForMigration != localSdkVersionCode else { let message = "[Migrations] Migrations will not be perfromed. PersistenceStorage.versionCodeForMigrations is equal to constantForMigrations" Logger.common(message: message, level: .info, category: .migration) return } ```