From ed02e9033803f5d1925b044d23bd55a52a180be5 Mon Sep 17 00:00:00 2001 From: viktorstrate Date: Sat, 24 Apr 2021 19:21:10 +0200 Subject: [PATCH] Attempt to fix clear db --- api/database/database.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/api/database/database.go b/api/database/database.go index 925f5c5c..d4d721e6 100644 --- a/api/database/database.go +++ b/api/database/database.go @@ -196,9 +196,23 @@ func ClearDatabase(db *gorm.DB) error { // get table name of model structure table := dry_run.Find(model).Statement.Table - if err := tx.Exec(fmt.Sprintf("TRUNCATE TABLE %s", table)).Error; err != nil { - return err + switch drivers.DatabaseDriver() { + case drivers.DatabaseDriverPostgres: + if err := tx.Exec(fmt.Sprintf("TRUNCATE TABLE %s CASCADE", table)).Error; err != nil { + return err + } + break + case drivers.DatabaseDriverMysql: + if err := tx.Exec(fmt.Sprintf("TRUNCATE TABLE %s", table)).Error; err != nil { + return err + } + break + case drivers.DatabaseDriverSqlite: + if err := tx.Exec(fmt.Sprintf("DELETE FROM %s", table)).Error; err != nil { + return err + } } + } return nil