Я работаю над проектом с помощью платформы Play, в которой используется EBean как API ORM, и мне интересно, как я могу сохранить старые данные, если мне нужно было изменить модели после того, мое заявление для общественности? Потому что после каждого обновления создается новая свертка и данные сбрасываются.Как сохранить данные базы данных, если модели изменились
ответ
Плагин Ebean в игре 2.x всегда сбрасывает всю структуру и воссоздает ее - что приводит к потере данных. Нет поддержки для обновления только измененных элементов (вообще, даже в чистой Ebean) see post at their forum.
Только обходное решение отключает его и создает следующие изменения (2.sql, 3.sql и т. Д.) Вручную и помещает в них только измененные/добавленные таблицы и столбцы. Затем в файле 1.sql удалите две первые строки (которые говорят, что они были созданы с помощью плагина) - в этом случае он не будет пытаться генерировать весь DDL снова, вместо этого он будет искать ваши ручные изменения.
При необходимости вы можете использовать свой графический интерфейс favorit для управления изменениями БД, иногда это просто быстрее.
Чтобы отключить Ebean плагин полностью добавить (или раскомментировать) эту строку в application.conf
:
evolutionplugin=disabled