Вот почему не работает? ...

PHP код:
local function initDB(dbdefaults)
    if 
type(db) ~= "table" then db = {} end
    
if type(defaults) ~= "table" then return db end
    
for kv in pairs(defaults) do
        if 
type(v) == "table" then
            db
[k] = initDB(db[k], v)
        elseif 
type(v) ~= type(db[k]) then
            db
[k] = v
        end
    end
    
return db
end

local 
function cleanDB(dbdefaults)
    if 
type(db) ~= "table" then return {} end
    
if type(defaults) ~= "table" then return db end
    
for kv in pairs(db) do
        if 
type(v) == "table" then
            
if not next(cleanDB(vdefaults[k])) then
                db
[k] = nil
            end
        
elseif == defaults[kthen
            db
[k] = nil
        end
    end
    
return db
end 
ЧИстит бд просто досуха , остается только массив , вместо конфига который не соответствует дефолту ...