refactor: store migrator

This commit is contained in:
Steven
2024-08-16 08:07:30 +08:00
parent 1ae3afc0ba
commit 6e901fc940
82 changed files with 1494 additions and 402 deletions

View File

@ -1,9 +1,7 @@
package mysql
import (
"context"
"database/sql"
"log/slog"
"github.com/go-sql-driver/mysql"
"github.com/pkg/errors"
@ -45,30 +43,8 @@ func (d *DB) GetDB() *sql.DB {
return d.db
}
func (d *DB) GetCurrentDBSize(ctx context.Context) (int64, error) {
query := "SELECT SUM(`data_length` + `index_length`) AS `size` " +
" FROM information_schema.TABLES" +
" WHERE `table_schema` = ?" +
" GROUP BY `table_schema`"
rows, err := d.db.QueryContext(ctx, query, d.config.DBName)
if err != nil {
slog.Error("Query db size error, make sure you have enough privilege", "error", err)
return 0, err
}
defer rows.Close()
var size int64
for rows.Next() {
if err := rows.Scan(&size); err != nil {
return 0, err
}
}
if rows.Err() != nil {
return 0, rows.Err()
}
return size, nil
func (d *DB) Type() string {
return "mysql"
}
func (d *DB) Close() error {