Add cli flag for initializing tables instead of creating them at startup
parent
55908bb215
commit
fef473199c
18
main.go
18
main.go
|
@ -3,6 +3,7 @@ package main
|
|||
import (
|
||||
"database/sql"
|
||||
"encoding/json"
|
||||
"flag"
|
||||
"fmt"
|
||||
"html/template"
|
||||
"log"
|
||||
|
@ -219,6 +220,11 @@ func ensureAdminUser(db *sql.DB, config *handlers.Config) error {
|
|||
}
|
||||
|
||||
func main() {
|
||||
// Define command-line flag for initialization
|
||||
initialize := flag.Bool("initialize", false, "Initialize database tables and admin user")
|
||||
flag.BoolVar(initialize, "i", false, "Short for --initialize")
|
||||
flag.Parse()
|
||||
|
||||
config, err := loadConfig("config/config.json")
|
||||
if err != nil {
|
||||
log.Fatal("Error loading config:", err)
|
||||
|
@ -231,18 +237,26 @@ func main() {
|
|||
}
|
||||
defer db.Close()
|
||||
|
||||
// Create tables if they don't exist
|
||||
// Perform initialization if the flag is set
|
||||
if *initialize {
|
||||
log.Println("Initializing database...")
|
||||
err = createTablesIfNotExist(db)
|
||||
if err != nil {
|
||||
log.Fatal("Error creating database tables:", err)
|
||||
}
|
||||
|
||||
// Ensure admin user exists
|
||||
err = ensureAdminUser(db, config)
|
||||
if err != nil {
|
||||
log.Fatal("Error ensuring admin user:", err)
|
||||
}
|
||||
|
||||
log.Println("Initialization completed successfully. Exiting.")
|
||||
return
|
||||
}
|
||||
|
||||
// Normal startup (without automatic table creation)
|
||||
log.Println("Starting ThreadR server...")
|
||||
|
||||
dir, err := os.Getwd()
|
||||
if err != nil {
|
||||
log.Fatal("Error getting working directory:", err)
|
||||
|
|
Loading…
Reference in New Issue