refactor: server - rename *_updated_at columns (#45)
ci/woodpecker/push/govulncheck Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/cron/govulncheck Pipeline was successful Details

Reviewed-on: #45
This commit is contained in:
Dawid Wysokiński 2024-05-04 05:26:22 +00:00
parent d05d7aaacb
commit 1c1758ce7d
7 changed files with 114 additions and 78 deletions

View File

@ -131,8 +131,7 @@ func (a updateServerParamsApplier) apply(q *bun.UpdateQuery) *bun.UpdateQuery {
}
if tribeDataSyncedAt := a.params.TribeDataSyncedAt(); tribeDataSyncedAt.Valid {
// TODO: rename this column to tribe_data_synced_at
q = q.Set("tribe_data_updated_at = ?", tribeDataSyncedAt.V)
q = q.Set("tribe_data_synced_at = ?", tribeDataSyncedAt.V)
}
if numPlayers := a.params.NumPlayers(); numPlayers.Valid {
@ -140,8 +139,7 @@ func (a updateServerParamsApplier) apply(q *bun.UpdateQuery) *bun.UpdateQuery {
}
if playerDataSyncedAt := a.params.PlayerDataSyncedAt(); playerDataSyncedAt.Valid {
// TODO: rename this column to player_data_synced_at
q = q.Set("player_data_updated_at = ?", playerDataSyncedAt.V)
q = q.Set("player_data_synced_at = ?", playerDataSyncedAt.V)
}
if numVillages := a.params.NumVillages(); numVillages.Valid {
@ -161,13 +159,11 @@ func (a updateServerParamsApplier) apply(q *bun.UpdateQuery) *bun.UpdateQuery {
}
if villageDataSyncedAt := a.params.VillageDataSyncedAt(); villageDataSyncedAt.Valid {
// TODO: rename this column to village_data_synced_at
q = q.Set("village_data_updated_at = ?", villageDataSyncedAt.V)
q = q.Set("village_data_synced_at = ?", villageDataSyncedAt.V)
}
if ennoblementDataSyncedAt := a.params.EnnoblementDataSyncedAt(); ennoblementDataSyncedAt.Valid {
// TODO: rename this column to ennoblement_data_synced_at
q = q.Set("ennoblement_data_updated_at = ?", ennoblementDataSyncedAt.V)
q = q.Set("ennoblement_data_synced_at = ?", ennoblementDataSyncedAt.V)
}
if tribeSnapshotsCreatedAt := a.params.TribeSnapshotsCreatedAt(); tribeSnapshotsCreatedAt.Valid {

View File

@ -12,12 +12,12 @@
num_barbarian_villages: 1180
num_bonus_villages: 512
created_at: 2022-03-19T12:00:54.000Z
player_data_updated_at: 2022-03-19T12:00:54.000Z
player_data_synced_at: 2022-03-19T12:00:54.000Z
player_snapshots_created_at: 2022-03-19T12:00:54.000Z
tribe_data_updated_at: 2022-03-19T12:00:54.000Z
tribe_data_synced_at: 2022-03-19T12:00:54.000Z
tribe_snapshots_created_at: 2022-03-19T12:00:54.000Z
village_data_updated_at: 2022-03-19T12:00:54.000Z
ennoblement_data_updated_at: 2022-03-19T12:00:54.000Z
village_data_synced_at: 2022-03-19T12:00:54.000Z
ennoblement_data_synced_at: 2022-03-19T12:00:54.000Z
version_code: de
- _id: en113
key: en113
@ -31,12 +31,12 @@
num_barbarian_villages: 700
num_bonus_villages: 1024
created_at: 2021-04-02T16:01:25.000Z
player_data_updated_at: 2021-04-02T16:01:25.000Z
player_data_synced_at: 2021-04-02T16:01:25.000Z
player_snapshots_created_at: 2021-04-02T16:01:25.000Z
tribe_data_updated_at: 2021-04-02T16:01:25.000Z
tribe_data_synced_at: 2021-04-02T16:01:25.000Z
tribe_snapshots_created_at: 2021-04-02T16:01:25.000Z
village_data_updated_at: 2021-04-02T16:01:25.000Z
ennoblement_data_updated_at: 2021-04-02T16:01:25.000Z
village_data_synced_at: 2021-04-02T16:01:25.000Z
ennoblement_data_synced_at: 2021-04-02T16:01:25.000Z
version_code: en
- _id: it70
key: it70
@ -50,12 +50,12 @@
num_barbarian_villages: 1682
num_bonus_villages: 256
created_at: 2022-03-19T12:00:04.000Z
player_data_updated_at: 2022-03-19T12:00:04.000Z
player_data_synced_at: 2022-03-19T12:00:04.000Z
player_snapshots_created_at: 2022-03-19T12:00:04.000Z
tribe_data_updated_at: 2022-03-19T12:00:04.000Z
tribe_data_synced_at: 2022-03-19T12:00:04.000Z
tribe_snapshots_created_at: 2022-03-19T12:00:04.000Z
village_data_updated_at: 2022-03-19T12:00:04.000Z
ennoblement_data_updated_at: 2022-03-19T12:00:04.000Z
village_data_synced_at: 2022-03-19T12:00:04.000Z
ennoblement_data_synced_at: 2022-03-19T12:00:04.000Z
version_code: it
- _id: pl169
key: pl169
@ -69,12 +69,12 @@
num_barbarian_villages: 1574
num_bonus_villages: 2048
created_at: 2022-03-19T12:01:39.000Z
player_data_updated_at: 2022-03-19T12:01:39.000Z
player_data_synced_at: 2022-03-19T12:01:39.000Z
player_snapshots_created_at: 2022-03-19T12:01:39.000Z
tribe_data_updated_at: 2022-03-19T12:01:39.000Z
tribe_data_synced_at: 2022-03-19T12:01:39.000Z
tribe_snapshots_created_at: 2022-03-19T12:01:39.000Z
village_data_updated_at: 2022-03-19T12:01:39.000Z
ennoblement_data_updated_at: 2022-03-19T12:01:39.000Z
village_data_synced_at: 2022-03-19T12:01:39.000Z
ennoblement_data_synced_at: 2022-03-19T12:01:39.000Z
version_code: pl
- model: Tribe
rows:

View File

@ -11,32 +11,28 @@ import (
var ServerMetaColumns = []string{"key", "url", "open"}
type Server struct {
bun.BaseModel `bun:"table:servers,alias:server"`
Key string `bun:"key,nullzero,pk"`
URL string `bun:"url,nullzero"`
Open bool `bun:"open"`
Special bool `bun:"special"`
NumPlayers int `bun:"num_players"`
NumTribes int `bun:"num_tribes"`
NumVillages int `bun:"num_villages"`
NumPlayerVillages int `bun:"num_player_villages"`
NumBarbarianVillages int `bun:"num_barbarian_villages"`
NumBonusVillages int `bun:"num_bonus_villages"`
Config ServerConfig `bun:"config"`
BuildingInfo BuildingInfo `bun:"building_info"`
UnitInfo UnitInfo `bun:"unit_info"`
CreatedAt time.Time `bun:"created_at,nullzero"`
// TODO: rename this column to player_data_synced_at
PlayerDataUpdatedAt time.Time `bun:"player_data_updated_at,nullzero"`
PlayerSnapshotsCreatedAt time.Time `bun:"player_snapshots_created_at,nullzero"`
// TODO: rename this column to tribe_data_synced_at
TribeDataUpdatedAt time.Time `bun:"tribe_data_updated_at,nullzero"`
TribeSnapshotsCreatedAt time.Time `bun:"tribe_snapshots_created_at,nullzero"`
// TODO: rename this column to village_data_synced_at
VillageDataUpdatedAt time.Time `bun:"village_data_updated_at,nullzero"`
// TODO: rename this column to ennoblement_data_synced_at
EnnoblementDataUpdatedAt time.Time `bun:"ennoblement_data_updated_at,nullzero"`
VersionCode string `bun:"version_code,nullzero"`
bun.BaseModel `bun:"table:servers,alias:server"`
Key string `bun:"key,nullzero,pk"`
URL string `bun:"url,nullzero"`
Open bool `bun:"open"`
Special bool `bun:"special"`
NumPlayers int `bun:"num_players"`
NumTribes int `bun:"num_tribes"`
NumVillages int `bun:"num_villages"`
NumPlayerVillages int `bun:"num_player_villages"`
NumBarbarianVillages int `bun:"num_barbarian_villages"`
NumBonusVillages int `bun:"num_bonus_villages"`
Config ServerConfig `bun:"config"`
BuildingInfo BuildingInfo `bun:"building_info"`
UnitInfo UnitInfo `bun:"unit_info"`
CreatedAt time.Time `bun:"created_at,nullzero"`
PlayerDataUpdatedAt time.Time `bun:"player_data_synced_at,nullzero"`
PlayerSnapshotsCreatedAt time.Time `bun:"player_snapshots_created_at,nullzero"`
TribeDataUpdatedAt time.Time `bun:"tribe_data_synced_at,nullzero"`
TribeSnapshotsCreatedAt time.Time `bun:"tribe_snapshots_created_at,nullzero"`
VillageDataUpdatedAt time.Time `bun:"village_data_synced_at,nullzero"`
EnnoblementDataUpdatedAt time.Time `bun:"ennoblement_data_synced_at,nullzero"`
VersionCode string `bun:"version_code,nullzero"`
}
func (s Server) ToDomain() (domain.Server, error) {

View File

@ -0,0 +1,44 @@
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 getColumnsToRename20240504051104() {
_, 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 getColumnsToRename20240504051104() {
_, 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 getColumnsToRename20240504051104() map[string]string {
return map[string]string{
"player_data_updated_at": "player_data_synced_at",
"tribe_data_updated_at": "tribe_data_synced_at",
"village_data_updated_at": "village_data_synced_at",
"ennoblement_data_updated_at": "ennoblement_data_synced_at",
}
}

View File

@ -12,12 +12,12 @@
num_barbarian_villages: 44
num_bonus_villages: 0
created_at: 2022-01-19T12:00:54.000Z
player_data_updated_at: 2022-01-19T12:00:54.000Z
player_data_synced_at: 2022-01-19T12:00:54.000Z
player_snapshots_created_at: 2022-01-19T12:00:54.000Z
tribe_data_updated_at: 2022-01-19T12:00:54.000Z
tribe_data_synced_at: 2022-01-19T12:00:54.000Z
tribe_snapshots_created_at: 2022-01-19T12:00:54.000Z
village_data_updated_at: 2022-01-19T12:00:54.000Z
ennoblement_data_updated_at: 2022-01-19T12:00:54.000Z
village_data_synced_at: 2022-01-19T12:00:54.000Z
ennoblement_data_synced_at: 2022-01-19T12:00:54.000Z
version_code: de
- _id: de188
key: de188
@ -31,12 +31,12 @@
num_barbarian_villages: 1180
num_bonus_villages: 512
created_at: 2022-03-19T12:00:54.000Z
player_data_updated_at: 2022-03-19T12:00:54.000Z
player_data_synced_at: 2022-03-19T12:00:54.000Z
player_snapshots_created_at: 2022-03-19T12:00:54.000Z
tribe_data_updated_at: 2022-03-19T12:00:54.000Z
tribe_data_synced_at: 2022-03-19T12:00:54.000Z
tribe_snapshots_created_at: 2022-03-19T12:00:54.000Z
village_data_updated_at: 2022-03-19T12:00:54.000Z
ennoblement_data_updated_at: 2022-03-19T12:00:54.000Z
village_data_synced_at: 2022-03-19T12:00:54.000Z
ennoblement_data_synced_at: 2022-03-19T12:00:54.000Z
version_code: de
- _id: en113
key: en113
@ -50,12 +50,12 @@
num_barbarian_villages: 700
num_bonus_villages: 1024
created_at: 2021-04-02T16:01:25.000Z
player_data_updated_at: 2021-04-02T16:01:25.000Z
player_data_synced_at: 2021-04-02T16:01:25.000Z
player_snapshots_created_at: 2021-04-02T16:01:25.000Z
tribe_data_updated_at: 2021-04-02T16:01:25.000Z
tribe_data_synced_at: 2021-04-02T16:01:25.000Z
tribe_snapshots_created_at: 2021-04-02T16:01:25.000Z
village_data_updated_at: 2021-04-02T16:01:25.000Z
ennoblement_data_updated_at: 2021-04-02T16:01:25.000Z
village_data_synced_at: 2021-04-02T16:01:25.000Z
ennoblement_data_synced_at: 2021-04-02T16:01:25.000Z
version_code: en
- _id: it70
key: it70
@ -69,12 +69,12 @@
num_barbarian_villages: 1682
num_bonus_villages: 256
created_at: 2022-03-19T12:00:04.000Z
player_data_updated_at: 2022-03-19T12:00:04.000Z
player_data_synced_at: 2022-03-19T12:00:04.000Z
player_snapshots_created_at: 2022-03-19T12:00:04.000Z
tribe_data_updated_at: 2022-03-19T12:00:04.000Z
tribe_data_synced_at: 2022-03-19T12:00:04.000Z
tribe_snapshots_created_at: 2022-03-19T12:00:04.000Z
village_data_updated_at: 2022-03-19T12:00:04.000Z
ennoblement_data_updated_at: 2022-03-19T12:00:04.000Z
village_data_synced_at: 2022-03-19T12:00:04.000Z
ennoblement_data_synced_at: 2022-03-19T12:00:04.000Z
version_code: it
- _id: pl169
key: pl169
@ -88,12 +88,12 @@
num_barbarian_villages: 1574
num_bonus_villages: 2048
created_at: 2022-03-19T12:01:39.000Z
player_data_updated_at: 2022-03-19T12:01:39.000Z
player_data_synced_at: 2022-03-19T12:01:39.000Z
player_snapshots_created_at: 2022-03-19T12:01:39.000Z
tribe_data_updated_at: 2022-03-19T12:01:39.000Z
tribe_data_synced_at: 2022-03-19T12:01:39.000Z
tribe_snapshots_created_at: 2022-03-19T12:01:39.000Z
village_data_updated_at: 2022-03-19T12:01:39.000Z
ennoblement_data_updated_at: 2022-03-19T12:01:39.000Z
village_data_synced_at: 2022-03-19T12:01:39.000Z
ennoblement_data_synced_at: 2022-03-19T12:01:39.000Z
version_code: pl
- model: Tribe
rows:

View File

@ -36,12 +36,12 @@
num_bonus_villages: 13379
created_at:
version_code: pl
player_data_updated_at: "{{ now }}"
player_data_synced_at: "{{ now }}"
player_snapshots_created_at: "{{ now }}"
tribe_data_updated_at: "{{ now }}"
tribe_data_synced_at: "{{ now }}"
tribe_snapshots_created_at: "{{ now }}"
village_data_updated_at: "{{ now }}"
ennoblement_data_updated_at: "{{ now }}"
village_data_synced_at: "{{ now }}"
ennoblement_data_synced_at: "{{ now }}"
- model: Ennoblement
rows:
# pl181

View File

@ -12,12 +12,12 @@
num_barbarian_villages: 1574
num_bonus_villages: 2048
created_at: 2022-03-19T12:01:39.000Z
player_data_updated_at: 2022-03-19T12:01:39.000Z
player_data_synced_at: 2022-03-19T12:01:39.000Z
player_snapshots_created_at: 2022-03-19T12:01:39.000Z
tribe_data_updated_at: 2022-03-19T12:01:39.000Z
tribe_data_synced_at: 2022-03-19T12:01:39.000Z
tribe_snapshots_created_at: 2022-03-19T12:01:39.000Z
village_data_updated_at: 2022-03-19T12:01:39.000Z
ennoblement_data_updated_at: 2022-03-19T12:01:39.000Z
village_data_synced_at: 2022-03-19T12:01:39.000Z
ennoblement_data_synced_at: 2022-03-19T12:01:39.000Z
version_code: pl
- model: Tribe
rows: