feat(admin): establish core data model

This commit is contained in:
QiuSW
2026-08-03 18:37:48 +08:00
parent 8be6d206dd
commit 87591e84f9
17 changed files with 1081 additions and 6 deletions
+28
View File
@@ -0,0 +1,28 @@
// Package migrations 通过 goose 执行采购服务的版本化数据库迁移。
package migrations
import (
"context"
"database/sql"
"github.com/pressly/goose/v3"
)
// Run 执行指定的 goose 命令。迁移目录由调用方显式传入,避免把运行目录当作隐式配置。
func Run(ctx context.Context, database *sql.DB, directory, command string) error {
if err := goose.SetDialect("sqlite3"); err != nil {
return err
}
return goose.RunContext(ctx, command, database, directory)
}
// Up 将数据库迁移到当前版本。
func Up(ctx context.Context, database *sql.DB, directory string) error {
return Run(ctx, database, directory, "up")
}
// Down 回退一个已应用的迁移版本。
func Down(ctx context.Context, database *sql.DB, directory string) error {
return Run(ctx, database, directory, "down")
}