diff --git a/bin/server/cmd/profile.go b/bin/server/cmd/profile.go index 8af91015..b176bb0c 100644 --- a/bin/server/cmd/profile.go +++ b/bin/server/cmd/profile.go @@ -31,7 +31,7 @@ func checkDSN(dataDir string) (string, error) { dataDir = strings.TrimRight(dataDir, "/") if _, err := os.Stat(dataDir); err != nil { - error := fmt.Errorf("unable to access --data %s, %w", dataDir, err) + error := fmt.Errorf("unable to access -data %s, err %w", dataDir, err) return "", error } @@ -43,12 +43,11 @@ func GetProfile() Profile { mode := flag.String("mode", "dev", "") port := flag.Int("port", 8080, "") data := flag.String("data", "", "") - flag.Parse() dataDir, err := checkDSN(*data) if err != nil { - fmt.Printf("%+v\n", err) + fmt.Printf("Failed to check dsn: %s, err: %+v\n", dataDir, err) os.Exit(1) } diff --git a/bin/server/cmd/root.go b/bin/server/cmd/root.go index fefab12f..9dc66d5a 100644 --- a/bin/server/cmd/root.go +++ b/bin/server/cmd/root.go @@ -29,7 +29,7 @@ func Execute() { } func (m *Main) Run() error { - db := store.NewDB(m.profile.dsn) + db := store.NewDB(m.profile.dsn, m.profile.mode) if err := db.Open(); err != nil { return fmt.Errorf("cannot open db: %w", err) diff --git a/resources/memos.db b/resources/memos.db deleted file mode 100644 index 279a2622..00000000 Binary files a/resources/memos.db and /dev/null differ diff --git a/resources/memos_release.db b/resources/memos_release.db new file mode 100644 index 00000000..24e7c68f Binary files /dev/null and b/resources/memos_release.db differ diff --git a/store/sqlite.go b/store/sqlite.go index 90a4bc09..8405c5b5 100644 --- a/store/sqlite.go +++ b/store/sqlite.go @@ -17,14 +17,17 @@ var seedFS embed.FS type DB struct { Db *sql.DB - // Datasource name. + // datasource name DSN string + // mode: release or dev + mode string } // NewDB returns a new instance of DB associated with the given datasource name. -func NewDB(dsn string) *DB { +func NewDB(dsn string, mode string) *DB { db := &DB{ - DSN: dsn, + DSN: dsn, + mode: mode, } return db } @@ -37,11 +40,14 @@ func (db *DB) Open() (err error) { // Connect to the database. if db.Db, err = sql.Open("sqlite3", db.DSN); err != nil { - return err + return fmt.Errorf("failed to open db with dsn: %s, err: %w", db.DSN, err) } - if err := db.seed(); err != nil { - return fmt.Errorf("failed to seed: %w", err) + if db.mode == "dev" { + // If mode is dev, then we will seed the database. + if err := db.seed(); err != nil { + return fmt.Errorf("failed to seed: %w", err) + } } return err