Documentation
¶
Overview ¶
Package db provides shared SQLite database utilities.
Index ¶
- func Configure(ctx context.Context, db *sqlx.DB) error
- func DefaultDBPath() (string, error)
- func GetMigrationStatus(ctx context.Context) ([]int64, error)
- func Open(ctx context.Context, dbPath string) (*sqlx.DB, error)
- func RollbackMigration(ctx context.Context, migrations []Migration) error
- func RunMigrations(ctx context.Context, migrations []Migration) error
- func VerifyConfiguration(db *sqlx.DB) error
- type Migration
- type MigrationRunner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultDBPath ¶
DefaultDBPath returns the default path for the shared storage database.
func GetMigrationStatus ¶
GetMigrationStatus returns the list of applied migration versions.
func RollbackMigration ¶
RollbackMigration rolls back the last applied migration.
func RunMigrations ¶
RunMigrations runs the provided database migrations. This should be called once at CLI startup.
func VerifyConfiguration ¶
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
Directories
¶
| Path | Synopsis |
|---|---|
|
Package migrations contains all database migrations for kodelet.
|
Package migrations contains all database migrations for kodelet. |