I'm trying to update the database version but, I'm facing a strange problem... Here's my code:
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
Imagining that the database version is 1
, I'm expecting that my script prints this:
1
2
But what it is printing is:
2
2
Why? I don't know but, I do know that if I comment the line db:exec("PRAGMA user_version="..version)
, then it really prints this:
1
2
So, what's wrong in my code that causes the wrong output? Is the line db:exec("PRAGMA user_version="..version)
somehow being executed before the prints? If so, how can I change my code in order that it only calls create()
when version
changes?
By the way, I'm using Corona SDK but, I don't believe that the problem is related to it right?
Ok, I found the issue... The above code is correct and the problem was with a script that I have on
sublime
to relaunch the simulator when I save the file and what was happenning is that somehow, the script was relaunching the simulator 2 consecutive times and due to the many prints that I have, I didn't saw the correct output above on the console...I will keep this question here just because there could be someone else that want to know how to update the database version on corona/lua.