blob: 1d09685fb7cec3974d77f14bbe38f94450b56d16 (
plain)
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
|
package main
import (
"database/sql"
"embed"
"flag"
"log"
_ "github.com/mattn/go-sqlite3"
"undef.ninja/x/feedaka/cmd"
"undef.ninja/x/feedaka/config"
)
//go:generate go tool sqlc generate
//go:generate go tool gqlgen generate
var (
//go:embed public/*
publicFS embed.FS
)
func main() {
cfg, err := config.LoadConfig()
if err != nil {
log.Fatal(err)
}
// Parse command line flags
var migrate = flag.Bool("migrate", false, "Run database migrations")
var createUser = flag.Bool("create-user", false, "Create a new user")
flag.Parse()
database, err := sql.Open("sqlite3", "data/feedaka.db")
if err != nil {
log.Fatal(err)
}
defer database.Close()
if *migrate {
cmd.RunMigrate(database)
} else if *createUser {
cmd.RunCreateUser(database)
} else {
cmd.RunServe(database, cfg, publicFS)
}
}
|