summaryrefslogtreecommitdiff
path: root/golang/pkg/database/db.go
diff options
context:
space:
mode:
authorJulien Dessaux2025-02-14 00:14:15 +0100
committerJulien Dessaux2025-02-14 00:14:15 +0100
commitd97985a694b218713ddf63ed684b6a509f931f3b (patch)
tree84609f4e242419bf89301e0ead4927f450d7bfe5 /golang/pkg/database/db.go
parent[golang] Bootstrap contracting and refactor the agent code (diff)
downloadspacetraders-d97985a694b218713ddf63ed684b6a509f931f3b.tar.gz
spacetraders-d97985a694b218713ddf63ed684b6a509f931f3b.tar.bz2
spacetraders-d97985a694b218713ddf63ed684b6a509f931f3b.zip
[golang] implement automation loop and add contract accepting
Diffstat (limited to 'golang/pkg/database/db.go')
-rw-r--r--golang/pkg/database/db.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/golang/pkg/database/db.go b/golang/pkg/database/db.go
index cb15e52..f094039 100644
--- a/golang/pkg/database/db.go
+++ b/golang/pkg/database/db.go
@@ -5,6 +5,7 @@ import (
"database/sql"
"fmt"
"runtime"
+ "strings"
)
func initDB(ctx context.Context, url string) (*sql.DB, error) {
@@ -90,6 +91,21 @@ func (db *DB) Close() error {
return nil
}
+func (db *DB) Reset() error {
+ _, err := db.Exec(strings.Join([]string{
+ "DELETE FROM agents;",
+ "DELETE FROM markets;",
+ "DELETE FROM systems;",
+ "DELETE FROM tokens;",
+ "DELETE FROM transactions;",
+ "DELETE FROM waypoints;",
+ }, ""))
+ if err != nil {
+ return fmt.Errorf("failed to reset database: %w", err)
+ }
+ return nil
+}
+
func (db *DB) Exec(query string, args ...any) (sql.Result, error) {
return db.writeDB.ExecContext(db.ctx, query, args...)
}