login

<     >

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()