initial commit

This commit is contained in:
Hafizh A. Y
2025-09-25 10:46:46 +07:00
parent c43544e5e8
commit 10506238ae
64 changed files with 3564 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
package database
import (
"fmt"
"time"
"github.com/hafizhproject45/Golang-Boilerplate.git/internal/config"
"github.com/hafizhproject45/Golang-Boilerplate.git/internal/utils"
"gorm.io/driver/postgres"
"gorm.io/gorm"
"gorm.io/gorm/logger"
)
func Connect(dbHost, dbName string) *gorm.DB {
dsn := fmt.Sprintf(
"host=%s user=%s password=%s dbname=%s port=%d sslmode=disable TimeZone=Asia/Shanghai",
dbHost, config.DBUser, config.DBPassword, dbName, config.DBPort,
)
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{
Logger: logger.Default.LogMode(logger.Info),
SkipDefaultTransaction: true,
PrepareStmt: true,
TranslateError: true,
})
if err != nil {
utils.Log.Errorf("Failed to connect to database: %+v", err)
}
sqlDB, errDB := db.DB()
if errDB != nil {
utils.Log.Errorf("Failed to connect to database: %+v", errDB)
}
// Config connection pooling
sqlDB.SetMaxIdleConns(10)
sqlDB.SetMaxOpenConns(100)
sqlDB.SetConnMaxLifetime(60 * time.Minute)
return db
}
+1
View File
@@ -0,0 +1 @@
CREATE DATABASE IF NOT EXISTS db_lti_erp;
@@ -0,0 +1 @@
DROP TABLE IF EXISTS users;
@@ -0,0 +1,8 @@
-- Users
CREATE TABLE IF NOT EXISTS users (
id BIGSERIAL PRIMARY KEY,
name VARCHAR,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
deleted_at TIMESTAMPTZ
);
+30
View File
@@ -0,0 +1,30 @@
package seed
import (
"fmt"
mUser "github.com/hafizhproject45/Golang-Boilerplate.git/internal/modules/users/models"
"gorm.io/gorm"
)
func Run(db *gorm.DB) error {
return db.Transaction(func(tx *gorm.DB) error {
// pw, err := secure.Hash("asdasdasd", nil)
// if err != nil {
// return err
// }
// ===== Users (user) =====
user := mUser.User{
Name: "Super Admin",
}
if err := tx.Where("email = ?", user.Id).FirstOrCreate(&user).Error; err != nil {
return err
}
fmt.Println("✅ Seeder successfully")
return nil
})
}