(config *Config)
| 1001 | } |
| 1002 | |
| 1003 | func (server *Server) loadDatastore(config *Config) error { |
| 1004 | // open the datastore and load server state for which it (rather than config) |
| 1005 | // is the source of truth |
| 1006 | |
| 1007 | _, err := os.Stat(config.Datastore.Path) |
| 1008 | if os.IsNotExist(err) { |
| 1009 | server.logger.Warning("server", "database does not exist, creating it", config.Datastore.Path) |
| 1010 | err = initializeDB(config.Datastore.Path) |
| 1011 | if err != nil { |
| 1012 | return err |
| 1013 | } |
| 1014 | } |
| 1015 | |
| 1016 | db, err := OpenDatabase(config) |
| 1017 | if err == nil { |
| 1018 | server.store = db |
| 1019 | server.dstore = bunt.NewBuntdbDatastore(db, server.logger) |
| 1020 | return nil |
| 1021 | } else { |
| 1022 | return fmt.Errorf("Failed to open datastore: %s", err.Error()) |
| 1023 | } |
| 1024 | } |
| 1025 | |
| 1026 | func (server *Server) loadFromDatastore(config *Config) (err error) { |
| 1027 | // load *lines (from the datastores) |
no test coverage detected