2
0
mirror of synced 2025-02-25 15:15:35 +00:00
2021-01-25 15:54:37 +11:00

43 lines
743 B
Go

package main
import (
"fmt"
"log"
"os"
"crawshaw.io/sqlite"
"github.com/alexflint/go-arg"
sqliteStorage "github.com/anacrolix/torrent/storage/sqlite"
)
type InitCommand struct {
Path string `arg:"positional"`
}
func main() {
err := mainErr()
if err != nil {
log.Printf("error in main: %v", err)
os.Exit(1)
}
}
func mainErr() error {
var args struct {
Init *InitCommand `arg:"subcommand"`
}
p := arg.MustParse(&args)
switch {
case args.Init != nil:
conn, err := sqlite.OpenConn(args.Init.Path, 0)
if err != nil {
return fmt.Errorf("opening sqlite conn: %w", err)
}
defer conn.Close()
return sqliteStorage.InitSchema(conn, 1<<14, true)
default:
p.Fail("expected subcommand")
panic("unreachable")
}
}