github.com/k0marov/go-socnet@v0.0.0-20220715154813-90d07867c782/core/abstract/deletable/store/sql_db/sql_db.go (about) 1 package sql_db 2 3 import ( 4 "github.com/jmoiron/sqlx" 5 "github.com/k0marov/go-socnet/core/abstract/table_name" 6 "github.com/k0marov/go-socnet/core/general/core_err" 7 ) 8 9 type SqlDB struct { 10 sql *sqlx.DB 11 safeTargetTable string 12 } 13 14 func NewSqlDB(db *sqlx.DB, tableName table_name.TableName) (*SqlDB, error) { 15 targetTable, err := tableName.Value() 16 if err != nil { 17 return nil, core_err.Rethrow("getting target table name", err) 18 } 19 return &SqlDB{sql: db, safeTargetTable: targetTable}, nil 20 } 21 22 func (db *SqlDB) Delete(targetId string) error { 23 _, err := db.sql.Exec(` 24 DELETE FROM `+db.safeTargetTable+` WHERE id = ? 25 `, targetId) 26 if err != nil { 27 return core_err.Rethrow("deleting a Deletable target", err) 28 } 29 return nil 30 }