mirror of
https://github.com/SecurityBrewery/catalyst.git
synced 2025-12-06 07:12:46 +01:00
28 lines
708 B
Go
28 lines
708 B
Go
package migration
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
"fmt"
|
|
)
|
|
|
|
func version(ctx context.Context, db *sql.DB) (int, error) {
|
|
// get the current version of the database
|
|
var currentVersion int
|
|
if err := db.QueryRowContext(ctx, "PRAGMA user_version").Scan(¤tVersion); err != nil {
|
|
return 0, fmt.Errorf("failed to get current database version: %w", err)
|
|
}
|
|
|
|
return currentVersion, nil
|
|
}
|
|
|
|
func setVersion(ctx context.Context, db *sql.DB, version int) error {
|
|
// Update the database version after successful migration
|
|
_, err := db.ExecContext(ctx, fmt.Sprintf("PRAGMA user_version = %d", version))
|
|
if err != nil {
|
|
return fmt.Errorf("failed to update database version: %w", err)
|
|
}
|
|
|
|
return nil
|
|
}
|