feat: bob
This commit is contained in:
@ -1,22 +0,0 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"gorm.io/gorm/logger"
|
||||
)
|
||||
|
||||
func NewLogger() logger.Interface {
|
||||
return logger.New(
|
||||
log.New(os.Stdout, "\r\n", log.LstdFlags), // io writer
|
||||
logger.Config{
|
||||
SlowThreshold: time.Second, // Slow SQL threshold
|
||||
LogLevel: logger.Silent, // Log level
|
||||
IgnoreRecordNotFoundError: true, // Ignore ErrRecordNotFound error for logger
|
||||
ParameterizedQueries: true, // Don't include params in the SQL log
|
||||
Colorful: true, // Disable color
|
||||
},
|
||||
)
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"github.com/spotdemo4/trevstack/server/internal/models"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func Migrate(db *gorm.DB) error {
|
||||
err := db.AutoMigrate(&models.User{}, &models.Item{}, &models.File{}, &models.Passkey{})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
@ -1,18 +1,20 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gorm"
|
||||
"database/sql"
|
||||
|
||||
_ "github.com/lib/pq" // Postgres
|
||||
"github.com/stephenafamo/bob"
|
||||
)
|
||||
|
||||
func NewPostgresConnection(user, pass, host, port, name string) (*gorm.DB, error) {
|
||||
func NewPostgresConnection(user, pass, host, port, name string) (*bob.DB, error) {
|
||||
dsn := "host=" + host + " user=" + user + " password=" + pass + " dbname=" + name + " port=" + port + " sslmode=disable TimeZone=UTC"
|
||||
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{
|
||||
Logger: NewLogger(),
|
||||
})
|
||||
db, err := sql.Open("postgres", dsn)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return db, nil
|
||||
bobdb := bob.NewDB(db)
|
||||
|
||||
return &bobdb, nil
|
||||
}
|
||||
|
@ -1,14 +1,15 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/glebarez/sqlite"
|
||||
"gorm.io/gorm"
|
||||
"github.com/stephenafamo/bob"
|
||||
_ "modernc.org/sqlite" // Sqlite
|
||||
)
|
||||
|
||||
func NewSQLiteConnection(name string) (*gorm.DB, error) {
|
||||
func NewSQLiteConnection(name string) (*bob.DB, error) {
|
||||
// Find config diretory
|
||||
configDir, err := os.UserConfigDir()
|
||||
if err != nil {
|
||||
@ -24,12 +25,13 @@ func NewSQLiteConnection(name string) (*gorm.DB, error) {
|
||||
|
||||
// Open database
|
||||
dbPath := filepath.Join(settingsPath, name)
|
||||
db, err := gorm.Open(sqlite.Open(dbPath), &gorm.Config{
|
||||
Logger: NewLogger(),
|
||||
})
|
||||
db, err := sql.Open("sqlite", dbPath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return db, nil
|
||||
// Create new bob db
|
||||
bobdb := bob.NewDB(db)
|
||||
|
||||
return &bobdb, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user