43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
package migrations
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
"fmt"
|
|
|
|
"github.com/uptrace/bun"
|
|
)
|
|
|
|
func init() {
|
|
migrations.MustRegister(func(ctx context.Context, db *bun.DB) error {
|
|
return db.RunInTx(ctx, &sql.TxOptions{}, func(ctx context.Context, tx bun.Tx) error {
|
|
for oldColumn, newColumn := range getColumnsToRename20240506043013() {
|
|
_, err := tx.ExecContext(ctx, "ALTER TABLE servers RENAME COLUMN ? TO ?", bun.Safe(oldColumn), bun.Safe(newColumn))
|
|
if err != nil {
|
|
return fmt.Errorf("%s: %w", oldColumn, err)
|
|
}
|
|
}
|
|
|
|
return nil
|
|
})
|
|
}, func(ctx context.Context, db *bun.DB) error {
|
|
return db.RunInTx(ctx, &sql.TxOptions{}, func(ctx context.Context, tx bun.Tx) error {
|
|
for oldColumn, newColumn := range getColumnsToRename20240506043013() {
|
|
_, err := tx.ExecContext(ctx, "ALTER TABLE servers RENAME COLUMN ? TO ?", bun.Safe(newColumn), bun.Safe(oldColumn))
|
|
if err != nil {
|
|
return fmt.Errorf("%s: %w", newColumn, err)
|
|
}
|
|
}
|
|
|
|
return nil
|
|
})
|
|
})
|
|
}
|
|
|
|
func getColumnsToRename20240506043013() map[string]string {
|
|
return map[string]string{
|
|
"num_players": "num_active_players",
|
|
"num_tribes": "num_active_tribes",
|
|
}
|
|
}
|