Простой способ хранения метаданных о базе данных SQLite

мне было интересно, есть ли простой способ хранить метаинформацию о базе данных sqlite в этой базе данных.

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

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

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

2 ответов


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


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;