db

package
v0.3.29-beta Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package db provides shared SQLite database utilities.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Configure

func Configure(ctx context.Context, db *sqlx.DB) error

Configure sets up SQLite pragmas for optimal WAL mode performance.

func DefaultDBPath

func DefaultDBPath() (string, error)

DefaultDBPath returns the default path for the shared storage database.

func GetMigrationStatus

func GetMigrationStatus(ctx context.Context) ([]int64, error)

GetMigrationStatus returns the list of applied migration versions.

func Open

func Open(ctx context.Context, dbPath string) (*sqlx.DB, error)

Open opens or creates a SQLite database at the given path with optimal configuration.

func RollbackMigration

func RollbackMigration(ctx context.Context, migrations []Migration) error

RollbackMigration rolls back the last applied migration.

func RunMigrations

func RunMigrations(ctx context.Context, migrations []Migration) error

RunMigrations runs the provided database migrations. This should be called once at CLI startup.

func VerifyConfiguration

func VerifyConfiguration(db *sqlx.DB) error

VerifyConfiguration checks if the database is properly configured with WAL mode.

Types

type Migration

type Migration struct {
	Version     int64 // Timestamp format: YYYYMMDDHHmmss (e.g., 20240204153000)
	Description string
	Up          func(*sql.Tx) error
	Down        func(*sql.Tx) error // Optional rollback function
}

Migration represents a database migration with timestamp-based versioning (Rails-style)

type MigrationRunner

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

MigrationRunner handles database migrations

func NewMigrationRunner

func NewMigrationRunner(db *sqlx.DB) *MigrationRunner

NewMigrationRunner creates a new migration runner

func (*MigrationRunner) GetAppliedVersions

func (r *MigrationRunner) GetAppliedVersions(ctx context.Context) ([]int64, error)

GetAppliedVersions returns a list of applied migration versions

func (*MigrationRunner) Rollback

func (r *MigrationRunner) Rollback(ctx context.Context, migrations []Migration) error

Rollback rolls back the last applied migration

func (*MigrationRunner) Run

func (r *MigrationRunner) Run(ctx context.Context, migrations []Migration) error

Run executes all pending migrations in timestamp order

Directories

Path Synopsis
Package migrations contains all database migrations for kodelet.
Package migrations contains all database migrations for kodelet.

Jump to

Keyboard shortcuts

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