Обновление версии базы данных в Lua
Я пытаюсь обновить версию базы данных, но столкнулся со странной проблемой... Вот мой код:
version = 2
local cur_db_version=nil
for data in db:nrows("PRAGMA user_version") do
cur_db_version=data
break
end
local db_version=cur_db_version.user_version
print(db_version)
print(version)
if (db_version~=version) then
create()
db:exec("PRAGMA user_version="..version)
end
Представляя, что версия базы данных 1
, я ожидаю, что мой скрипт напечатает это:
1
2
Но что это такое печать:
2
2
Почему? Я не знаю, но я знаю, что если я комментирую строку db:exec("PRAGMA user_version="..version)
, то она действительно печатает это:
1
2
Итак, что же не так в моем коде, что вызывает неправильный вывод? Является ли строка db:exec("PRAGMA user_version="..version)
каким-то образом выполняемой раньше отпечатки пальцев? Если да, то как я могу изменить свой код, чтобы он вызывал только create()
, Когда version
изменяется?
Кстати, я использую Corona SDK, но я не верю, что проблема связана с ним, верно?
1 ответ:
Хорошо, я нашел проблему... Приведенный выше код корректен, и проблема была со скриптом, который у меня есть на
sublime
, чтобы перезапустить симулятор, когда я сохраняю файл, и то, что произошло, так или иначе, скрипт перезапускал симулятор 2 раза подряд, и из-за множества отпечатков, которые у меня есть, я не видел правильный вывод выше на консоли...Я сохраню этот вопрос здесь только потому, что может быть кто-то еще, кто хочет знать, как обновить версию базы данных на корона / Луа.