Цитата:
|
Кэп мне тут подсказывает, что нужно проверить существует ли файл пользовательской базы. Если нет, то это новая установка, если есть - апдейт.
|
Ну я так и делаю. См. код выше.
Цитата:
|
Да и зачем пользовательскую базу затирать? Можно же просто недостающие колонки добавить, а лишние дропнуть. Ровно как и в существующей (хотя дефолтную можно и затереть)
|
Мне не нужно её затирать. Наоборот, нужно всегда сохранять, если только юзер сам не удалит базу удалением приложения.
А вот main.db мне именно нужно при апдейте затирать - каждый апдейт приносит новый контент, который юзер должен видеть.
Меня интересует, при апдейте приложения с Google Play или AppStore происходит стирание файлов в applicationStorageDirectory? По идее не должно. А при удалении и повторной установке видимо происходит.
Ну в общем простое решение вырисовывается, весь вопрос насколько оно рабочее для всех сторов?
Насколько надежна предложенная конструкция.
Проверяем встроенную базу данных main:

Код AS3:
protected var updateApp:Boolean = false;
if (!writeSessionDB.exists) {
updateApp = true;
embededSessionDB.copyTo(writeSessionDB);// Если её нет, то это новый инсталл - копируем user.db
}
// Если она есть, то или апдейт или просто очередной запуск приложения, не трогаем user.db
if (updateApp && !writeSessionDBuser.exists) {
embededSessionDBuser.copyTo(writeSessionDBuser);
}
Добавлено через 35 минут
Так, все равно какая-то ерунда получается

Мне нужно перезаписывать main.db при каждом обновлении. Но если он присутствует в хранилище, то этого не произойдет. Что делать?