Обновление версии базы данных в 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 2

1 ответ:

Хорошо, я нашел проблему... Приведенный выше код корректен, и проблема была со скриптом, который у меня есть на sublime, чтобы перезапустить симулятор, когда я сохраняю файл, и то, что произошло, так или иначе, скрипт перезапускал симулятор 2 раза подряд, и из-за множества отпечатков, которые у меня есть, я не видел правильный вывод выше на консоли...

Я сохраню этот вопрос здесь только потому, что может быть кто-то еще, кто хочет знать, как обновить версию базы данных на корона / Луа.