49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"git.omicron.one/omicron/linkshare/internal/database"
|
|
"git.omicron.one/omicron/linkshare/internal/util"
|
|
"git.omicron.one/omicron/linkshare/internal/version"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
func openDB() (*database.DB, error) {
|
|
paths, err := util.FindDirectories(dbPath)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return database.Open(paths.DatabaseFile)
|
|
}
|
|
|
|
func dbPreRun(cmd *cobra.Command, args []string) error {
|
|
return setupDb()
|
|
}
|
|
|
|
func dbPostRun(cmd *cobra.Command, args []string) error {
|
|
return cleanupDb()
|
|
}
|
|
|
|
func dbInitHandler(cmd *cobra.Command, args []string) {
|
|
err := db.Initialize(paths.SchemaDir)
|
|
if err == database.ErrAlreadyInitialized {
|
|
fmt.Printf("Database %q is already initialized\n", dbPath)
|
|
return
|
|
}
|
|
if err == nil {
|
|
fmt.Printf("Initialized database %q with schema version %d\n", dbPath, version.SchemaVersion)
|
|
return
|
|
}
|
|
|
|
fmt.Printf("Failed to initialize database %q: %v\n", dbPath, err)
|
|
}
|
|
|
|
func dbBackupHandler(cmd *cobra.Command, args []string) {
|
|
fmt.Println("Not implemented")
|
|
}
|
|
|
|
func dbUpdateHandler(cmd *cobra.Command, args []string) {
|
|
fmt.Println("Not implemented")
|
|
}
|