Простой способ хранения метаданных о базе данных SQLite
мне было интересно, есть ли простой способ хранить метаинформацию о базе данных sqlite в этой базе данных.
Я специально думаю о номере версии, который позволяет вам легко узнать, какую версию макета базы данных вы используете (поэтому мой код может проверить, совместима ли структура базы данных без запроса SELECT sql FROM sqlite_master WHERE type='table';
и сравнение результата с предопределенной схемой). Чтобы уточнить: я не интересует номер версии sqlite программное обеспечение, но что-то сродни pythons __version__
переменная, которая может быть определена отдельно для каждого файла python.
Я знаю, что я, вероятно, могу просто создать таблицу с именем "meta" и сохранить ее там, но мне было интересно, есть ли лучший способ сделать это.
Я также знаю, что проверка совместимости только проверкой номера версии имеет некоторые проблемы, и я все равно буду делать другие проверки, если это необходимо, но пока меня интересует только номер версии, который я описал.
2 ответов
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_version
https://www.sqlite.org/pragma.html#pragma_user_version
установить user_version в 901
PRAGMA user_version = 901;
получить user_version
PRAGMA user_version;