db

package
v0.1.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 17, 2025 License: MIT Imports: 10 Imported by: 1

Documentation

Overview

Package db provides database connection management, migration system, and database creation utilities with support for SQLite and PostgreSQL.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Create

func Create(url string) error

Create a new database based on the passed URL.

func Drop

func Drop(url string) error

Drop a database based on the passed URL.

func Params added in v0.1.12

func Params(params ...string) connectionOption

Params allows to specify additional connection parameters that will be encoded as URL params next to the connection string. params should be in key,value,key,value,... format. e.g Params("sslmode", "disable", "timezone", "UTC")

func RunMigrations

func RunMigrations(fs embed.FS, conn *sql.DB) error

RunMigrations by checking in the migrations database table, each of the adapters take care of this.

func RunMigrationsDir

func RunMigrationsDir(dir string, conn *sql.DB) error

RunMigrationsDir receives a folder and a database URL to apply the migrations to the database.

func WithDriver

func WithDriver(name string) connectionOption

WithDriver allows to specify the driver to use driver defaults to postgres.

Types

type ConnFn

type ConnFn func() (*sql.DB, error)

ConnFn is the database connection builder function that will be used by the application based on the driver and connection string.

func ConnectionFn

func ConnectionFn(url string, opts ...connectionOption) ConnFn

ConnectionFn is the database connection builder function that will be used by the application based on the driver and connection string. It opens the connection only once and return the same connection on subsequent calls.

type Migrator

type Migrator struct {
	// contains filtered or unexported fields
}

func NewMigrator

func NewMigrator(db *sql.DB) *Migrator

func (*Migrator) Run

func (m *Migrator) Run(timestamp, name, sql string) error

Run a particular database migration and inserting its timestamp on the migrations table.

func (*Migrator) Setup

func (m *Migrator) Setup() error

Setup the sqlite database to be ready to have the migrations inside.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL