73 lines
975 B
Go
73 lines
975 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"strings"
|
|
"os"
|
|
|
|
"database/sql"
|
|
_ "github.com/mattn/go-sqlite3"
|
|
)
|
|
|
|
type active_record interface {
|
|
init(string, int) bool
|
|
create() bool
|
|
read() bool
|
|
update() bool
|
|
delete() bool
|
|
}
|
|
|
|
type ActiveSqliteRow struct {
|
|
id int
|
|
table_name string
|
|
columns []string
|
|
}
|
|
|
|
type Entity struct {
|
|
id int
|
|
user_id int
|
|
name string
|
|
spawn_line string
|
|
}
|
|
|
|
type User struct {
|
|
id int
|
|
name string
|
|
}
|
|
|
|
func prep_query(db *sql.DB, q string) (*sql.Stmt){
|
|
statement, err := db.Prepare(q)
|
|
|
|
if err != nil {
|
|
log.Println(err)
|
|
log.Println(statement)
|
|
}
|
|
|
|
return statement
|
|
}
|
|
|
|
func check(e error) {
|
|
if e != nil {
|
|
panic(e)
|
|
}
|
|
}
|
|
|
|
func reset_database(db *sql.DB) {
|
|
dat, _ := os.ReadFile("setup.sql")
|
|
queries := strings.Split(string(dat), ";")
|
|
|
|
for i, q := range queries {
|
|
log.Println(i)
|
|
|
|
res, err := db.Exec(q)
|
|
check(err)
|
|
|
|
log.Println(res)
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
db, _ := sql.Open("sqlite3", "rpgqui.db")
|
|
|
|
reset_database(db)
|
|
}
|