-
Notifications
You must be signed in to change notification settings - Fork 25
Миграция на SQLite
Начиная с версии 6.0 в Bonsai появляется поддержка БД SQLite в дополнение к PostgreSQL, который использовался ранее. SQLite становится базой данных по-умолчанию для создания новых проектов, поскольку обладает следующими преимуществами:
- Автоматически обновляется вместе с приложением
- Удобнее для создания бэкапов (не нужно делать dump, достаточно просто скопировать файл)
- Занимает 1 мб вместо контейнера на 300 мб для PostgreSQL
SQLite также известен своей стабильностью за счет крайне высокого покрытия тестами и заявленной поддержки как минимум до 2050 года, что очень хорошо согласуется с идеологией Bonsai.
Чтобы мигрировать БД на SQLite, достаточно сделать следующее:
-
Добавить в переменные окружения контейнера следующие записи:
- ConnectionStrings__EmbeddedDatabase=Data Source=/app/App_Data/bonsai.db - ConnectionStrings__UseEmbeddedDatabase=true
-
Настроить для контейнера монтирование папки
/app/App_Data
во внешнюю среду, по аналогии с папкой для медиа-файлов. -
Перезапустить контейнер, обновившись до последней версии, и дождаться его старта.
Готово! Все данные будут автоматически перенесены в SQLite. Для страховки убедитесь, что в папке /app/App_Data
появился файл bonsai.db
.
Теперь контейнер с PostgreSQL можно отключить.
Если вы предпочитаете использовать PostgreSQL - для вас всё остается как раньше, ничего делать не нужно.
Вы можете переключить используемую БД обратно на PostgreSQL, выставив значение ConnectionStrings__UseEmbeddedDatabase=false
.
ВНИМАНИЕ! Данные переносятся только из PostgreSQL в SQLite, но не наоборот! В этом случае вы вернетесь к состоянию БД, которое было до миграции.