2012-03-04 3 views
6

Мне было интересно, есть ли простой способ хранения метаинформации о sqlite-Database в этой базе данных.Простой способ хранения метаданных о базе данных SQLite

Я специально задумываюсь о номере версии, который позволяет вам легко узнать, какую версию макета базы данных вы используете (поэтому мой код мог проверить совместимость структуры базы данных без запроса SELECT sql FROM sqlite_master WHERE type='table'; и сравнения результата с предопределенной схемой). Чтобы уточнить: я не интересуется номером версии программного обеспечения sqlite, а чем-то вроде pythons __version__ переменной, которая может быть определена отдельно для каждого файла python.

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

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

ответ

3

Возможно, вы захотите проверить user_version pragma.

+0

Право, Pragma. Должен был узнать слишком много регулярных SQL в течение последних недель, полностью забыл о них. Спасибо, соглашусь, как только мне позволено. – malexmave

+0

Из любопытства: Есть что-то подобное для MySQL? Насколько я знаю, 'pragma' - это функция SQLite, которая недоступна в MySQL. – malexmave

+0

Не знаю, извините ... – villintehaspam

1

SQLite предлагает два слота для хранения целого числа в виде метаданных.

APPLICATION_ID

https://www.sqlite.org/pragma.html#pragma_application_id

Установите APPLICATION_ID 900

PRAGMA application_id = 900; 

Получить APPLICATION_ID

PRAGMA application_id; 

user_versio п

https://www.sqlite.org/pragma.html#pragma_user_version

Установите user_version в 901

PRAGMA user_version = 901; 

Получить user_version

PRAGMA user_version; 
Смежные вопросы