Резервное копирование и восстановление базы данных Sqlite в колбе sqlalchemy - PullRequest
0 голосов
/ 01 мая 2018

Я использую колбу sqlalchemy для создания базы данных, которая, в свою очередь, создает файлы app.db для хранения таблиц и данных. Теперь для резервного копирования просто взять копию app.db где-нибудь на сервере. Но предположим, что пока приложение записывает данные в app.db, а мы делаем копию в то время, у нас может быть несовместимый файл app.db.

Как мы поддерживаем целостность резервной копии. Я могу реализовать блокировки для этого. Но мне было интересно узнать о стандартных и хороших решениях для резервного копирования баз данных и о том, как это реализовано в python.

1 Ответ

0 голосов
/ 01 мая 2018

SQLite имеет для этого API резервного копирования , но он недоступен во встроенном драйвере Python.

Вы могли бы

  • используйте для резервного копирования библиотеку APSW ; или
  • выполнить команду .backup в командной строке sqlite3 ; или
  • выполнить BEGIN IMMEDIATE , чтобы запретить запись других соединений в БД, и скопировать файл (ы).
...