1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
local luasql = require "luasql.sqlite3"
local orm = require "orbit.model"
local args = { ... }
local env = luasql()
local conn = env:connect(args[1] .. ".db")
local mapper = orm.new("toycms_", conn, "sqlite3")
local tables = { "post", "comment", "user", "section" }
print("local db = '" .. args[1] .. "'")
print [[
local luasql = require "luasql.mysql"
local orm = require "orbit.model"
local env = luasql()
local conn = env:connect(db, "root", "password")
local mapper = orm.new("toycms_", conn, "mysql")
]]
local function serialize_prim(v)
local type = type(v)
if type == "string" then
return string.format("%q", v)
else
return tostring(v)
end
end
local function serialize(t)
local fields = {}
for k, v in pairs(t) do
table.insert(fields, " [" .. string.format("%q", k) .. "] = " ..
serialize_prim(v))
end
return "{\n" .. table.concat(fields, ",\n") .. "}"
end
for _, tn in ipairs(tables) do
print("\n-- Table " .. tn .. "\n")
local t = mapper:new(tn)
print("local t = mapper:new('" .. tn .. "')")
local recs = t:find_all()
for i, rec in ipairs(recs) do
print("\n-- Record " .. i .. "\n")
print("local rec = " .. serialize(rec))
print("rec = t:new(rec)")
print("rec:save(true)")
end
end
|