aboutsummaryrefslogtreecommitdiff
path: root/cmd/ggen
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/ggen')
-rw-r--r--cmd/ggen/main.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/cmd/ggen/main.go b/cmd/ggen/main.go
new file mode 100644
index 0000000..b519739
--- /dev/null
+++ b/cmd/ggen/main.go
@@ -0,0 +1,43 @@
+package main
+
+import (
+ "github.com/sirupsen/logrus"
+ "gorm.io/driver/sqlite"
+ "gorm.io/gen"
+ "gorm.io/gorm"
+
+ "git.sr.ht/~gabrielgio/img/pkg/database/sql"
+ "git.sr.ht/~gabrielgio/img/pkg/ext"
+)
+
+func main() {
+ cfg := gen.Config{
+ OutPath: "./pkg/database/sql/query",
+ WithUnitTest: true,
+ Mode: gen.WithoutContext | gen.WithDefaultQuery | gen.WithQueryInterface, // generate mode
+ }
+
+ g := gen.NewGenerator(cfg)
+
+ logger := logrus.New()
+ logger.SetLevel(logrus.TraceLevel)
+ d := sqlite.Open("test.db")
+ db, err := gorm.Open(d, &gorm.Config{
+ Logger: ext.Wraplog(logger.WithField("context", "sql")),
+ })
+ if err != nil {
+ panic("failed to gen database: " + err.Error())
+ }
+
+ g.UseDB(db)
+
+ for _, m := range []any{
+ &sql.User{},
+ &sql.Settings{},
+ &sql.Media{},
+ } {
+ g.ApplyBasic(m)
+ }
+
+ g.Execute()
+}