Sqlite сохранить / загрузить базу данных в файловый поток - PullRequest
0 голосов
/ 15 марта 2012

У меня есть база данных sqlite, которая открывается в: memory: она должна быть передана / сериализована на полпути в другой файл.

Например:

// Some data
// more data
// SQLITE
// more data
// more data

Какой лучший способ сделать это? Одним из вариантов будет использование кода sqlite_backup для записи во временный файл, а затем считывание файла обратно и его потоковая передача, а затем удаление временного файла. Это было бы относительно легко реализовать, но не совсем эффективно.

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

Есть ли другой способ потоковой передачи базы данных из памяти напрямую? Мои файловые потоки используют в качестве базы boost :: iostreams :: filtering_ostream.

Спасибо!

Кроме того, если у кого-то есть предложения по работе с разными версиями, в которых имена столбцов могут быть изменены / добавлены и т. Д., Это было бы здорово!

1 Ответ

0 голосов
/ 23 марта 2012

Да, я просто собираюсь сериализовать все вручную и сгенерировать операторы INSERT / CREATE при загрузке.Хотелось бы, чтобы был лучший способ ...

...