parent
269bb4a3c9
commit
e4ceb421de
3 changed files with 18 additions and 4 deletions
|
|
@ -38,7 +38,7 @@ func Generate(destDir string, dbConn DBConnection, generatorTemplate ...template
|
||||||
}
|
}
|
||||||
defer db.Close()
|
defer db.Close()
|
||||||
|
|
||||||
err = generate(db, dbConn.DBName, destDir, generatorTemplate...)
|
err = GenerateDB(db, dbConn.DBName, destDir, generatorTemplate...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
@ -70,7 +70,7 @@ func GenerateDSN(dsn, destDir string, templates ...template.Template) error {
|
||||||
}
|
}
|
||||||
defer db.Close()
|
defer db.Close()
|
||||||
|
|
||||||
err = generate(db, cfg.DBName, destDir, templates...)
|
err = GenerateDB(db, cfg.DBName, destDir, templates...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to generate: %w", err)
|
return fmt.Errorf("failed to generate: %w", err)
|
||||||
}
|
}
|
||||||
|
|
@ -96,7 +96,8 @@ func openConnection(connectionString string) (*sql.DB, error) {
|
||||||
return db, nil
|
return db, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func generate(db *sql.DB, dbName, destDir string, templates ...template.Template) error {
|
// GenerateDB generates jet files using the provided *sql.DB
|
||||||
|
func GenerateDB(db *sql.DB, dbName, destDir string, templates ...template.Template) error {
|
||||||
fmt.Println("Retrieving database information...")
|
fmt.Println("Retrieving database information...")
|
||||||
// No schemas in MySQL
|
// No schemas in MySQL
|
||||||
schemaMetaData, err := metadata.GetSchema(db, &mySqlQuerySet{}, dbName)
|
schemaMetaData, err := metadata.GetSchema(db, &mySqlQuerySet{}, dbName)
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,14 @@ func GenerateDSN(dsn, schema, destDir string, templates ...template.Template) er
|
||||||
defer db.Close()
|
defer db.Close()
|
||||||
|
|
||||||
fmt.Println("Retrieving schema information...")
|
fmt.Println("Retrieving schema information...")
|
||||||
|
return GenerateDB(db, schema, cfg.Database, destDir, templates...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GenerateDB generates jet files using the provided *sql.DB
|
||||||
|
func GenerateDB(db *sql.DB, dbName, schema, destDir string, templates ...template.Template) error {
|
||||||
|
if dbName == "" {
|
||||||
|
return fmt.Errorf("database name is required")
|
||||||
|
}
|
||||||
generatorTemplate := template.Default(postgres.Dialect)
|
generatorTemplate := template.Default(postgres.Dialect)
|
||||||
if len(templates) > 0 {
|
if len(templates) > 0 {
|
||||||
generatorTemplate = templates[0]
|
generatorTemplate = templates[0]
|
||||||
|
|
@ -66,7 +74,7 @@ func GenerateDSN(dsn, schema, destDir string, templates ...template.Template) er
|
||||||
return fmt.Errorf("failed to get '%s' schema metadata: %w", schema, err)
|
return fmt.Errorf("failed to get '%s' schema metadata: %w", schema, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
dirPath := filepath.Join(destDir, cfg.Database)
|
dirPath := filepath.Join(destDir, dbName)
|
||||||
|
|
||||||
err = template.ProcessSchema(dirPath, schemaMetadata, generatorTemplate)
|
err = template.ProcessSchema(dirPath, schemaMetadata, generatorTemplate)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package sqlite
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/go-jet/jet/v2/generator/metadata"
|
"github.com/go-jet/jet/v2/generator/metadata"
|
||||||
"github.com/go-jet/jet/v2/generator/template"
|
"github.com/go-jet/jet/v2/generator/template"
|
||||||
"github.com/go-jet/jet/v2/sqlite"
|
"github.com/go-jet/jet/v2/sqlite"
|
||||||
|
|
@ -17,7 +18,11 @@ func GenerateDSN(dsn, destDir string, templates ...template.Template) error {
|
||||||
defer db.Close()
|
defer db.Close()
|
||||||
|
|
||||||
fmt.Println("Retrieving schema information...")
|
fmt.Println("Retrieving schema information...")
|
||||||
|
return GenerateDB(db, destDir, templates...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GenerateDB generates jet files using the provided *sql.DB
|
||||||
|
func GenerateDB(db *sql.DB, destDir string, templates ...template.Template) error {
|
||||||
generatorTemplate := template.Default(sqlite.Dialect)
|
generatorTemplate := template.Default(sqlite.Dialect)
|
||||||
if len(templates) > 0 {
|
if len(templates) > 0 {
|
||||||
generatorTemplate = templates[0]
|
generatorTemplate = templates[0]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue