-
Notifications
You must be signed in to change notification settings - Fork 0
ClassORMLite
hp-sam edited this page Sep 17, 2014
·
4 revisions
local orm = require "framework.orm"local context = orm.new(<db>, { ["tablename"] = <table definition map>, ... })
local db = sqlite3.open(sandbox:resolveFile("data:///testorm2.sqlite"))
local blob_model = {
-- ["id"] = "integer primary key", -- id is not required to define.
["path"] = "text",
["temppath"] = "text",
["name"] = "text",
["typeid"] = "integer",
["contenttype"] = "text",
["md5"] = "text",
["size"] = "integer",
["status"] = "integer default 0"
}
local block_model = {
["blobid"] = "integer",
["bg"] = "integer default 0",
["ed"] = "integer default 0",
["hash"] = "text",
["status"] = "integer"
}
local context = orm.new(db, {
["blob"] = blob_model,
["block"] = block_model
})local row = context.<tablename>("new|insert", {modelmap})
local row = context.blob("new", {
path = "test",
size = 123
})row.path = nil
row.typeid = "2"
row:update()local results = context.<tablename>("list|select", format, ...)
local results = context.blob("list", "id>? and typeid=?", 40, 2)
for k,v in ipairs(results) do
print(v.id)
endcontext.<tablename>("delete|remove", format, ...) or row:delete() or row:remove()
context.blob("delete", "id=? and typeid=?", 40, 2)context.<select|update|delete|insert>(sql, ...)
local results = context.select("select * from aa,bb where aa.id=bb.id and aa.cc=?", 22)
context.update("update aa where cc=?", 22)