2023-07-19 11:37:47 (UTC-03:00)
Marcel Rodrigues <marcelgmr@gmail.com>
use db:execute_many() to create tables
diff --git a/data.lua b/data.lua index aaff818..aa5643e 100644 --- a/data.lua +++ b/data.lua @@ -1,30 +1,29 @@ local lud = require "ludweb" -local schema = { -[[ +local schema = [[ CREATE TABLE IF NOT EXISTS User ( id INTEGER PRIMARY KEY AUTOINCREMENT, nick TEXT NOT NULL, name TEXT NOT NULL, salt TEXT NOT NULL, hash TEXT NOT NULL -);]], [[ +); CREATE TABLE IF NOT EXISTS Project ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, desc TEXT -);]], [[ +); CREATE TABLE IF NOT EXISTS Membership ( proj_id INTEGER REFERENCES Project(id), user_id INTEGER REFERENCES User(id), PRIMARY KEY(proj_id, user_id) -);]], [[ +); CREATE TABLE IF NOT EXISTS State ( id INTEGER PRIMARY KEY AUTOINCREMENT, proj_id INTEGER NOT NULL REFERENCES Project(id), name TEXT NOT NULL, desc TEXT -);]], [[ +); CREATE TABLE IF NOT EXISTS Ticket ( id INTEGER PRIMARY KEY AUTOINCREMENT, proj_id INTEGER NOT NULL REFERENCES Project(id), @@ -33,7 +32,7 @@ CREATE TABLE IF NOT EXISTS Ticket ( code INTEGER NOT NULL, name TEXT NOT NULL, desc TEXT -);]], [[ +); CREATE TABLE IF NOT EXISTS Shift ( id INTEGER PRIMARY KEY AUTOINCREMENT, ticket_id INTEGER NOT NULL REFERENCES Ticket(id), @@ -41,23 +40,21 @@ CREATE TABLE IF NOT EXISTS Shift ( new_stt_id INTEGER NOT NULL REFERENCES State(id), user_id INTEGER NOT NULL REFERENCES User(id), time INTEGER NOT NULL -);]], [[ +); CREATE TABLE IF NOT EXISTS Comment ( id INTEGER PRIMARY KEY AUTOINCREMENT, ticket_id INTEGER NOT NULL REFERENCES Ticket(id), user_id INTEGER NOT NULL REFERENCES User(id), time INTEGER NOT NULL, text TEXT NOT NULL -);]] -} +); +]] local Model = {} Model.__index = Model function Model:create_tables() - for i, sql in ipairs(schema) do - self.db:execute(sql) - end + return self.db:execute_many(schema) end function Model:close()