normaliseeol
This commit is contained in:
@@ -1,45 +1,45 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"gotemplate/internal/env"
|
||||
"log"
|
||||
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/jackc/pgx/v5/pgxpool"
|
||||
)
|
||||
|
||||
func createConnectionString() string {
|
||||
driver := "postgres"
|
||||
dbUser := env.GetRequired("DB_USER")
|
||||
dbPass := env.GetRequired("DB_PASS")
|
||||
dbHost := env.GetRequired("DB_HOST")
|
||||
dbPort := env.GetRequired("DB_PORT")
|
||||
dbName := env.GetRequired("DB_NAME")
|
||||
connStr := fmt.Sprintf("%s://%s:%s@%s:%s/%s?sslmode=disable", driver, dbUser, dbPass, dbHost, dbPort, dbName)
|
||||
|
||||
return connStr
|
||||
}
|
||||
|
||||
func GetDBPool(ctx context.Context) *pgxpool.Pool {
|
||||
connStr := createConnectionString()
|
||||
|
||||
pool, err := pgxpool.New(ctx, connStr)
|
||||
if err != nil {
|
||||
log.Fatalf("Unable to create database pool: %v\n", err)
|
||||
}
|
||||
|
||||
return pool
|
||||
}
|
||||
|
||||
func GetDBConn(ctx context.Context) *pgx.Conn {
|
||||
connStr := createConnectionString()
|
||||
|
||||
conn, err := pgx.Connect(ctx, connStr)
|
||||
if err != nil {
|
||||
log.Fatalf("Unable to connect to database: %v\n", err)
|
||||
}
|
||||
|
||||
return conn
|
||||
}
|
||||
package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"gotemplate/internal/env"
|
||||
"log"
|
||||
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/jackc/pgx/v5/pgxpool"
|
||||
)
|
||||
|
||||
func createConnectionString() string {
|
||||
driver := "postgres"
|
||||
dbUser := env.GetRequired("DB_USER")
|
||||
dbPass := env.GetRequired("DB_PASS")
|
||||
dbHost := env.GetRequired("DB_HOST")
|
||||
dbPort := env.GetRequired("DB_PORT")
|
||||
dbName := env.GetRequired("DB_NAME")
|
||||
connStr := fmt.Sprintf("%s://%s:%s@%s:%s/%s?sslmode=disable", driver, dbUser, dbPass, dbHost, dbPort, dbName)
|
||||
|
||||
return connStr
|
||||
}
|
||||
|
||||
func GetDBPool(ctx context.Context) *pgxpool.Pool {
|
||||
connStr := createConnectionString()
|
||||
|
||||
pool, err := pgxpool.New(ctx, connStr)
|
||||
if err != nil {
|
||||
log.Fatalf("Unable to create database pool: %v\n", err)
|
||||
}
|
||||
|
||||
return pool
|
||||
}
|
||||
|
||||
func GetDBConn(ctx context.Context) *pgx.Conn {
|
||||
connStr := createConnectionString()
|
||||
|
||||
conn, err := pgx.Connect(ctx, connStr)
|
||||
if err != nil {
|
||||
log.Fatalf("Unable to connect to database: %v\n", err)
|
||||
}
|
||||
|
||||
return conn
|
||||
}
|
||||
|
||||
@@ -1,85 +1,85 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"gotemplate/internal/env"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
|
||||
"github.com/golang-migrate/migrate/v4"
|
||||
"github.com/golang-migrate/migrate/v4/database/postgres"
|
||||
_ "github.com/golang-migrate/migrate/v4/source/file"
|
||||
)
|
||||
|
||||
func createDB() {
|
||||
dbUser := env.GetRequired("DB_USER")
|
||||
dbPass := env.GetRequired("DB_PASS")
|
||||
dbHost := env.GetRequired("DB_HOST")
|
||||
dbPort := env.GetRequired("DB_PORT")
|
||||
dbName := env.GetRequired("DB_NAME")
|
||||
driver := "postgres"
|
||||
connStr := fmt.Sprintf("%s://%s:%s@%s:%s?sslmode=disable", driver, dbUser, dbPass, dbHost, dbPort)
|
||||
|
||||
db, err := sql.Open(driver, connStr)
|
||||
if err != nil {
|
||||
log.Fatalf("Error opening database: %v", err)
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
result, err := db.Exec(fmt.Sprintf("SELECT 'CREATE DATABASE %s' WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '%s')", dbName, dbName))
|
||||
if err != nil {
|
||||
log.Fatalf("Error creating database: %v", err)
|
||||
}
|
||||
|
||||
rows, err := result.RowsAffected()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
} else if rows == 0 {
|
||||
log.Printf("Database already exists: %s", dbName)
|
||||
} else {
|
||||
log.Printf("Database created: %s", dbName)
|
||||
}
|
||||
}
|
||||
|
||||
func RunMigrations() {
|
||||
createDB()
|
||||
|
||||
connStr := createConnectionString()
|
||||
driver := "postgres"
|
||||
|
||||
db, err := sql.Open(driver, connStr)
|
||||
if err != nil {
|
||||
log.Fatalf("failed to open database: %v", err)
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
if err = db.Ping(); err != nil {
|
||||
log.Fatal("Failed to connect to database:", err)
|
||||
}
|
||||
|
||||
conn, err := postgres.WithInstance(db, &postgres.Config{})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
migPath := "file://" + path.Join(os.Getenv("PWD"), "database/migrations")
|
||||
m, err := migrate.NewWithDatabaseInstance(
|
||||
migPath,
|
||||
driver,
|
||||
conn,
|
||||
)
|
||||
if err != nil {
|
||||
log.Fatalf("failed to create migrate instance: %v", err)
|
||||
}
|
||||
|
||||
err = m.Up()
|
||||
if err == migrate.ErrNoChange {
|
||||
log.Println("No changes required")
|
||||
} else if err != nil {
|
||||
log.Fatalf("failed to apply migrations: %v", err)
|
||||
} else {
|
||||
log.Println("Migrations applied successfully!")
|
||||
}
|
||||
}
|
||||
package database
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"gotemplate/internal/env"
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
|
||||
"github.com/golang-migrate/migrate/v4"
|
||||
"github.com/golang-migrate/migrate/v4/database/postgres"
|
||||
_ "github.com/golang-migrate/migrate/v4/source/file"
|
||||
)
|
||||
|
||||
func createDB() {
|
||||
dbUser := env.GetRequired("DB_USER")
|
||||
dbPass := env.GetRequired("DB_PASS")
|
||||
dbHost := env.GetRequired("DB_HOST")
|
||||
dbPort := env.GetRequired("DB_PORT")
|
||||
dbName := env.GetRequired("DB_NAME")
|
||||
driver := "postgres"
|
||||
connStr := fmt.Sprintf("%s://%s:%s@%s:%s?sslmode=disable", driver, dbUser, dbPass, dbHost, dbPort)
|
||||
|
||||
db, err := sql.Open(driver, connStr)
|
||||
if err != nil {
|
||||
log.Fatalf("Error opening database: %v", err)
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
result, err := db.Exec(fmt.Sprintf("SELECT 'CREATE DATABASE %s' WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '%s')", dbName, dbName))
|
||||
if err != nil {
|
||||
log.Fatalf("Error creating database: %v", err)
|
||||
}
|
||||
|
||||
rows, err := result.RowsAffected()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
} else if rows == 0 {
|
||||
log.Printf("Database already exists: %s", dbName)
|
||||
} else {
|
||||
log.Printf("Database created: %s", dbName)
|
||||
}
|
||||
}
|
||||
|
||||
func RunMigrations() {
|
||||
createDB()
|
||||
|
||||
connStr := createConnectionString()
|
||||
driver := "postgres"
|
||||
|
||||
db, err := sql.Open(driver, connStr)
|
||||
if err != nil {
|
||||
log.Fatalf("failed to open database: %v", err)
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
if err = db.Ping(); err != nil {
|
||||
log.Fatal("Failed to connect to database:", err)
|
||||
}
|
||||
|
||||
conn, err := postgres.WithInstance(db, &postgres.Config{})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
migPath := "file://" + path.Join(os.Getenv("PWD"), "database/migrations")
|
||||
m, err := migrate.NewWithDatabaseInstance(
|
||||
migPath,
|
||||
driver,
|
||||
conn,
|
||||
)
|
||||
if err != nil {
|
||||
log.Fatalf("failed to create migrate instance: %v", err)
|
||||
}
|
||||
|
||||
err = m.Up()
|
||||
if err == migrate.ErrNoChange {
|
||||
log.Println("No changes required")
|
||||
} else if err != nil {
|
||||
log.Fatalf("failed to apply migrations: %v", err)
|
||||
} else {
|
||||
log.Println("Migrations applied successfully!")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.27.0
|
||||
|
||||
package repository
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/jackc/pgx/v5/pgconn"
|
||||
)
|
||||
|
||||
type DBTX interface {
|
||||
Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
|
||||
Query(context.Context, string, ...interface{}) (pgx.Rows, error)
|
||||
QueryRow(context.Context, string, ...interface{}) pgx.Row
|
||||
}
|
||||
|
||||
func New(db DBTX) *Queries {
|
||||
return &Queries{db: db}
|
||||
}
|
||||
|
||||
type Queries struct {
|
||||
db DBTX
|
||||
}
|
||||
|
||||
func (q *Queries) WithTx(tx pgx.Tx) *Queries {
|
||||
return &Queries{
|
||||
db: tx,
|
||||
}
|
||||
}
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.27.0
|
||||
|
||||
package repository
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/jackc/pgx/v5/pgconn"
|
||||
)
|
||||
|
||||
type DBTX interface {
|
||||
Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
|
||||
Query(context.Context, string, ...interface{}) (pgx.Rows, error)
|
||||
QueryRow(context.Context, string, ...interface{}) pgx.Row
|
||||
}
|
||||
|
||||
func New(db DBTX) *Queries {
|
||||
return &Queries{db: db}
|
||||
}
|
||||
|
||||
type Queries struct {
|
||||
db DBTX
|
||||
}
|
||||
|
||||
func (q *Queries) WithTx(tx pgx.Tx) *Queries {
|
||||
return &Queries{
|
||||
db: tx,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.27.0
|
||||
|
||||
package repository
|
||||
|
||||
type Name struct {
|
||||
Name string
|
||||
}
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.27.0
|
||||
|
||||
package repository
|
||||
|
||||
type Name struct {
|
||||
Name string
|
||||
}
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.27.0
|
||||
// source: name.sql
|
||||
|
||||
package repository
|
||||
|
||||
import (
|
||||
"context"
|
||||
)
|
||||
|
||||
const addName = `-- name: AddName :exec
|
||||
INSERT INTO names (name) VALUES ($1)
|
||||
`
|
||||
|
||||
func (q *Queries) AddName(ctx context.Context, name string) error {
|
||||
_, err := q.db.Exec(ctx, addName, name)
|
||||
return err
|
||||
}
|
||||
|
||||
const getName = `-- name: GetName :one
|
||||
SELECT name as dbName FROM names where name = $1
|
||||
`
|
||||
|
||||
func (q *Queries) GetName(ctx context.Context, name string) (string, error) {
|
||||
row := q.db.QueryRow(ctx, getName, name)
|
||||
var dbname string
|
||||
err := row.Scan(&dbname)
|
||||
return dbname, err
|
||||
}
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.27.0
|
||||
// source: name.sql
|
||||
|
||||
package repository
|
||||
|
||||
import (
|
||||
"context"
|
||||
)
|
||||
|
||||
const addName = `-- name: AddName :exec
|
||||
INSERT INTO names (name) VALUES ($1)
|
||||
`
|
||||
|
||||
func (q *Queries) AddName(ctx context.Context, name string) error {
|
||||
_, err := q.db.Exec(ctx, addName, name)
|
||||
return err
|
||||
}
|
||||
|
||||
const getName = `-- name: GetName :one
|
||||
SELECT name as dbName FROM names where name = $1
|
||||
`
|
||||
|
||||
func (q *Queries) GetName(ctx context.Context, name string) (string, error) {
|
||||
row := q.db.QueryRow(ctx, getName, name)
|
||||
var dbname string
|
||||
err := row.Scan(&dbname)
|
||||
return dbname, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user