diff --git a/orm.go b/orm.go index b70ffca..41b9807 100644 --- a/orm.go +++ b/orm.go @@ -35,8 +35,12 @@ type Table[T any] struct { deletewhere string } -func NewTable[T any](db *sql.DB, dialect Dialect, sample T, tablename string) (Table[T], error) { - t := reflect.TypeOf(sample) +func NewTable[T any](db *sql.DB, dialect Dialect, tablename string) (Table[T], error) { + + var instance T + + t := reflect.TypeOf(instance) + fields := make([]dbfield, 0) for field := range t.Fields() { f := dbfield{ diff --git a/orm_test.go b/orm_test.go index 5bc15ac..1ab1492 100644 --- a/orm_test.go +++ b/orm_test.go @@ -34,7 +34,7 @@ func TestHelloName(t *testing.T) { defer db.Close() dialect := lasebuche.NewSqliteDialect() - tableUser, err := lasebuche.NewTable[User](db, dialect, User{}, "user") + tableUser, err := lasebuche.NewTable[User](db, dialect, "user") if err != nil { t.Error(err.Error()) } @@ -150,7 +150,7 @@ func TestCRUDOperations(t *testing.T) { defer db.Close() dialect := lasebuche.NewSqliteDialect() - tableUser, err := lasebuche.NewTable[User](db, dialect, User{}, "user") + tableUser, err := lasebuche.NewTable[User](db, dialect, "user") if err != nil { t.Fatal(err.Error()) } @@ -301,7 +301,7 @@ func TestEdgeCases(t *testing.T) { defer db.Close() dialect := lasebuche.NewSqliteDialect() - tableUser, err := lasebuche.NewTable[User](db, dialect, User{}, "user") + tableUser, err := lasebuche.NewTable[User](db, dialect, "user") if err != nil { t.Fatal(err.Error()) } @@ -375,7 +375,7 @@ func TestVersionLocking(t *testing.T) { defer db.Close() dialect := lasebuche.NewSqliteDialect() - tableUser, err := lasebuche.NewTable[User](db, dialect, User{}, "user") + tableUser, err := lasebuche.NewTable[User](db, dialect, "user") if err != nil { t.Fatal(err.Error()) }