GO
dúvida

Sqlite Studio ,ajudem Please

Por GodSony, 20 de nov. de 2012 em Scripts

7
1.2k
GodSonyG
20 de novembro de 2012 às 15:17

Primeiramente,pesso que removam para area adequada,caso estiver errado,

 

estou com esse erro no meu console,é o unico erro que tem no servidor

 

OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: duplicate column name: Golden (ALTER TABLE "players" ADD "Golden" integer not null default 0;)

 

rep ++ pra quem ajudar

 

 

servidor pda slicer 2.7

Editado Novembro 20 por GodSony

VodkartV
20 de novembro de 2012 às 15:28

está dizendo que já tem uma coluna em "players" chamada "Golden"

SlicerS
20 de novembro de 2012 às 15:36

mano o problema eh q por algum motivo o script globalevents/scripts/start.lua n foi alterado depois da 1* execuçao do serv.. ;x

vai la no arquivo e deixa assim..

 

function onStartup()

 

db.executeQuery("UPDATE `players` SET `online` = 0 WHERE `world_id` = " .. getConfigValue('worldId') .. ";")

endGoldenArena(true) --alterado v1.7

--installRankGolden()

 

return true

end

 

 

@vodkart..

como faria para ver se ja tem uma coluna na database? para evitar esse erro? hehe

Editado Novembro 20 por Slicer

VodkartV
20 de novembro de 2012 às 15:52

abre o sqlite e vai na coluna players e procura ve se ja tem algo chamado "Golden"

SlicerS
20 de novembro de 2012 às 18:39

n tpw... ali no startUp eu coloquei para adicionar essa coluna na database do serv, pq meu serv eh publico e muita gente usa... dai depois q ele adiciona a coluna la, ele muda o script startUP e retira a linha q adiciona a coluna... mas as vezes os caras ligam o serv 1x e depois trocam os arquivos denovo e dai da esse 'erro' bobo.. ;x oia ae o script..

 

function installRankGolden()

if db.executeQuery("ALTER TABLE `players` ADD `Golden` integer not null default 0;") then

if db.executeQuery("UPDATE `players` SET `Golden` = '10000' WHERE `id` = 1;") then

local dir = "data/globalevents/scripts/start.lua"

local arq = io.open(dir, "w")

local base = 'function onStartup()\n\ndb.executeQuery("UPDATE `players` SET `online` = 0 WHERE `world_id` = " .. getConfigValue("worldId") .. ";")\n'

base = base..'endGoldenArena(true)\n\nreturn true\nend'

arq:write(base)

arq:close()

 

print("Table 'Golden' added with success!")

end

end

return true

end

 

VodkartV
20 de novembro de 2012 às 19:33

coloca pra checar se a coluna golden se já existe, caso contrário não exista, ele cria '-'

SlicerS
20 de novembro de 2012 às 21:13

ficando algu assim?

local query = db.getResult("SELECT `Golden` FROM `players`;")

if query:getID() == -1 then
return true
end