2012-03-04 9 views
6

Zastanawiam się, czy istnieje prosty sposób przechowywania meta informacji o bazie danych sqlite w tej bazie danych.Łatwy sposób przechowywania metadanych dotyczących bazy danych SQLite

Mam na myśli konkretnie numer wersji, który pozwala łatwo określić wersję używanego układu bazy danych (więc mój kod mógłby sprawdzić, czy struktura bazy danych jest zgodna bez zapytania SELECT sql FROM sqlite_master WHERE type='table'; i porównać wynik z wcześniej zdefiniowanym schematem). Aby wyjaśnić: Jestem nie zainteresowany numerem wersji oprogramowania sqlite, ale coś podobnego do pythons __version__ zmiennej, które można zdefiniować oddzielnie dla każdego pliku Pythona.

Wiem, że mogę po prostu utworzyć tabelę o nazwie "meta" i zapisać ją tam, ale zastanawiałem się, czy istnieje lepszy sposób na zrobienie tego.

Wiem również, że sprawdzanie kompatybilności jedynie poprzez sprawdzenie numeru wersji ma pewne problemy, a ja w razie potrzeby wykonam jeszcze inne kontrole, ale na razie interesuje mnie tylko numer wersji, który opisałem.

Odpowiedz

3

Możesz chcieć sprawdzić user_version pragma.

+0

Prawo, Pragma. Musiałem nauczyć się zbyt wiele regularnego SQL w ciągu ostatnich tygodni, zupełnie o nich zapomniałem. Dzięki, zaakceptuję, gdy tylko będę mógł. – malexmave

+0

Z ciekawości: Czy jest coś podobnego do MySQL? 'pragma' jest cechą SQLite, która nie jest dostępna w MySQL, o ile wiem. – malexmave

+0

Nie wiem, przepraszam ... – villintehaspam