Перейти к содержанию
Fire Monkey от А до Я

Deployment Manager - не включает фалы БД в сборку


masmat

Рекомендуемые сообщения

Я конечно понимаю, что эта тема описана много раз, вот даже ссылка на тему на этом сайте.

 

http://fire-monkey.ru/topic/31-vkliuchenie-svoikh-failov-v-prilozhenie/?hl=%2Bdeployment+%2Bmanager#entry85

 

Но все равно у меня файл базы SQLLite при разворачивании в отладке из Delphi XE8 не обновляется. Все равно используется старый файл БД.

Подскажите как это победить. 

Спасает только если приложение удаляешь из телефона и потом заново устанавливаешь. Но как же тогда быть при публикации в Google Market?

 

Вот скрин моего Deployment Manager. Все установлено, папка прописана, признак обязательной замены стоит. что не так-то

 post-1420-0-30233100-1449772544_thumb.pn

Ссылка на комментарий

Отвечу сам.

 

Нормального способа так и не нашел. Понятно, что БД не заменяется, что бы не затереть пользовательские данные, которые могли быть внесены в БД.

Поэтому пришлось применить способ принудительного закрытия БД, последующего удаления и вытягивания новой базы из файла поставки.

 

Собственно вот тема где это описывалось.

 

http://delphifmandroid.blogspot.it/2014/02/blog-post_16.html?showComment=1401443522770

 

Только не применял Form.Create. так как вываливалось почему то в ошибку.

Ссылка на комментарий

на эту тему была спец. статья даже, не помню где, что приложение должно само заботиться о переносе данных из старой базы в новую чтобы не трогать польз. данные

Ссылка на комментарий

Есть другой подход к проблеме.

Добавить к базе таблицу версия и в ней будет храниться одно значение - версия базы.

Изначально версия программы и базы 1

Если разработана версия программы 2 и база для нее изменилась, то при запуске проверяем versionCode программы и версию базы.

Если отличаются, то через fdConnection изменяем базу с помощью скрипта, и изменяем значение в таблице версия базы.

Пользовательские данные сохраняются.

Ссылка на комментарий

 

 

 

Только не применял Form.Create. так как вываливалось почему то в ошибку.

Основная ошибка в том, что компоненту БД еще не инициализировались (не создались), а ты уже обращается к ним и пытаешься что то сделать с БД)). Часто, когда ты пытаешься открыть БД на основной форме from.create, а компоненты на другой форме.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...