Commit 405fc2b4 authored by Steven's avatar Steven

chore: simplify find migration history

parent eacd3e1c
...@@ -2,7 +2,6 @@ package mysql ...@@ -2,7 +2,6 @@ package mysql
import ( import (
"context" "context"
"strings"
) )
type MigrationHistory struct { type MigrationHistory struct {
...@@ -15,18 +14,11 @@ type MigrationHistoryUpsert struct { ...@@ -15,18 +14,11 @@ type MigrationHistoryUpsert struct {
} }
type MigrationHistoryFind struct { type MigrationHistoryFind struct {
Version *string
} }
func (d *DB) FindMigrationHistoryList(ctx context.Context, find *MigrationHistoryFind) ([]*MigrationHistory, error) { func (d *DB) FindMigrationHistoryList(ctx context.Context, _ *MigrationHistoryFind) ([]*MigrationHistory, error) {
where, args := []string{"1 = 1"}, []any{} query := "SELECT `version`, UNIX_TIMESTAMP(`created_ts`) FROM `migration_history` ORDER BY `created_ts` DESC"
rows, err := d.db.QueryContext(ctx, query)
if v := find.Version; v != nil {
where, args = append(where, "`version` = ?"), append(args, *v)
}
query := "SELECT `version`, UNIX_TIMESTAMP(`created_ts`) FROM `migration_history` WHERE " + strings.Join(where, " AND ") + " ORDER BY `created_ts` DESC"
rows, err := d.db.QueryContext(ctx, query, args...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
...@@ -2,7 +2,6 @@ package sqlite ...@@ -2,7 +2,6 @@ package sqlite
import ( import (
"context" "context"
"strings"
) )
type MigrationHistory struct { type MigrationHistory struct {
...@@ -15,26 +14,11 @@ type MigrationHistoryUpsert struct { ...@@ -15,26 +14,11 @@ type MigrationHistoryUpsert struct {
} }
type MigrationHistoryFind struct { type MigrationHistoryFind struct {
Version *string
} }
func (d *DB) FindMigrationHistoryList(ctx context.Context, find *MigrationHistoryFind) ([]*MigrationHistory, error) { func (d *DB) FindMigrationHistoryList(ctx context.Context, _ *MigrationHistoryFind) ([]*MigrationHistory, error) {
where, args := []string{"1 = 1"}, []any{} query := "SELECT `version`, `created_ts` FROM `migration_history` ORDER BY `created_ts` DESC"
rows, err := d.db.QueryContext(ctx, query)
if v := find.Version; v != nil {
where, args = append(where, "version = ?"), append(args, *v)
}
query := `
SELECT
version,
created_ts
FROM
migration_history
WHERE ` + strings.Join(where, " AND ") + `
ORDER BY created_ts DESC
`
rows, err := d.db.QueryContext(ctx, query, args...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment