diff --git a/internal/README.md b/internal/README.md index 3976f0484..434d9ada6 100644 --- a/internal/README.md +++ b/internal/README.md @@ -280,7 +280,7 @@ type BalancesByAssetsByAccounts map[string]BalancesByAssets ```go type Configuration struct { Bucket string `json:"bucket" bun:"bucket,type:varchar(255)"` - Metadata metadata.Metadata `json:"metadata" bun:"metadata,type:jsonb"` + Metadata metadata.Metadata `json:"metadata" bun:"metadata,type:jsonb,nullzero"` Features FeatureSet `json:"features" bun:"features,type:jsonb"` } ``` diff --git a/internal/ledger.go b/internal/ledger.go index e80b4cc72..0f44ab61a 100644 --- a/internal/ledger.go +++ b/internal/ledger.go @@ -179,7 +179,7 @@ func shortenFeature(feature string) string { type Configuration struct { Bucket string `json:"bucket" bun:"bucket,type:varchar(255)"` - Metadata metadata.Metadata `json:"metadata" bun:"metadata,type:jsonb"` + Metadata metadata.Metadata `json:"metadata" bun:"metadata,type:jsonb,nullzero"` Features FeatureSet `json:"features" bun:"features,type:jsonb"` } diff --git a/internal/storage/driver/migrations.go b/internal/storage/driver/migrations.go index 404a4f516..ab69e3be3 100644 --- a/internal/storage/driver/migrations.go +++ b/internal/storage/driver/migrations.go @@ -202,6 +202,18 @@ func GetMigrator() *migrations.Migrator { }) }, }, + migrations.Migration{ + Name: "set default metadata on ledgers", + Up: func(ctx context.Context, db bun.IDB) error { + return db.RunInTx(ctx, &sql.TxOptions{}, func(ctx context.Context, tx bun.Tx) error { + _, err := tx.ExecContext(ctx, ` + alter table _system.ledgers + alter column metadata set default '{}'::jsonb; + `) + return err + }) + }, + }, ) return migrator