mirror of
https://github.com/usememos/memos.git
synced 2025-02-16 03:12:13 +01:00
fix(copydb): fix migration to Postgres (#2601)
* chore(copydb): Use query builder during setup * fix(copydb): Fix migration to Postgres
This commit is contained in:
parent
0916ec35da
commit
88728906a8
@ -5,6 +5,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/Masterminds/squirrel"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
@ -94,8 +95,15 @@ func copydb(fromProfile, toProfile *_profile.Profile) error {
|
||||
for table := range copyMap {
|
||||
println("Checking " + table + "...")
|
||||
var cnt int
|
||||
err := toDb.QueryRowContext(ctx, "SELECT COUNT(*) FROM "+table).Scan(&cnt)
|
||||
if toProfile.Driver == "postgres" && table == "user" {
|
||||
table = `"user"`
|
||||
}
|
||||
builder := squirrel.Select("COUNT(*)").From(table)
|
||||
query, args, err := builder.ToSql()
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "fail to build query '%s'", table)
|
||||
}
|
||||
if err := toDb.QueryRowContext(ctx, query, args...).Scan(&cnt); err != nil {
|
||||
return errors.Wrapf(err, "fail to check '%s'", table)
|
||||
}
|
||||
if cnt > 0 && table != "system_setting" {
|
||||
|
Loading…
x
Reference in New Issue
Block a user