fix(cluster): ha_nodes INET-Spalten → TEXT — pgx-Scan-Fehler OID 869
pgx kann INET-Typen (OID 869) nicht direkt in *string scannen. Migration 0028 konvertiert public_ip, internal_ip, mgmt_ip auf TEXT (USING ip::TEXT erhält bestehende Werte). Basis-Migrationen 0002 + 0020 auf TEXT umgestellt damit frische Installs keine INET anlegen. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -60,7 +60,7 @@ import (
|
||||
usersvc "git.netcell-it.de/projekte/edgeguard-native/internal/services/users"
|
||||
)
|
||||
|
||||
var version = "1.1.146"
|
||||
var version = "1.1.147"
|
||||
|
||||
func main() {
|
||||
addr := os.Getenv("EDGEGUARD_API_ADDR")
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"git.netcell-it.de/projekte/edgeguard-native/internal/services/setup"
|
||||
)
|
||||
|
||||
var version = "1.1.146"
|
||||
var version = "1.1.147"
|
||||
|
||||
const usage = `edgeguard-ctl — EdgeGuard CLI
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ import (
|
||||
"git.netcell-it.de/projekte/edgeguard-native/internal/services/tlscerts"
|
||||
)
|
||||
|
||||
var version = "1.1.146"
|
||||
var version = "1.1.147"
|
||||
|
||||
const (
|
||||
// renewTickInterval — how often we re-evaluate expiring certs.
|
||||
|
||||
@@ -15,8 +15,8 @@ CREATE TABLE IF NOT EXISTS ha_nodes (
|
||||
name TEXT NOT NULL,
|
||||
fqdn TEXT NOT NULL,
|
||||
api_url TEXT NOT NULL,
|
||||
public_ip INET,
|
||||
internal_ip INET,
|
||||
public_ip TEXT,
|
||||
internal_ip TEXT,
|
||||
role TEXT NOT NULL DEFAULT 'peer',
|
||||
last_seen TIMESTAMPTZ,
|
||||
joined_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
ALTER TABLE ha_nodes
|
||||
ADD COLUMN IF NOT EXISTS version TEXT,
|
||||
ADD COLUMN IF NOT EXISTS config_hash TEXT,
|
||||
ADD COLUMN IF NOT EXISTS mgmt_ip INET,
|
||||
ADD COLUMN IF NOT EXISTS mgmt_ip TEXT,
|
||||
ADD COLUMN IF NOT EXISTS status TEXT NOT NULL DEFAULT 'unknown';
|
||||
|
||||
ALTER TABLE ha_nodes
|
||||
@@ -33,7 +33,7 @@ ALTER TABLE ha_nodes
|
||||
DROP CONSTRAINT IF EXISTS ha_nodes_status_check;
|
||||
ALTER TABLE ha_nodes
|
||||
DROP COLUMN IF EXISTS status,
|
||||
DROP COLUMN IF EXISTS mgmt_ip,
|
||||
DROP COLUMN IF EXISTS mgmt_ip, -- TEXT
|
||||
DROP COLUMN IF EXISTS config_hash,
|
||||
DROP COLUMN IF EXISTS version;
|
||||
-- +goose StatementEnd
|
||||
|
||||
20
internal/database/migrations/0028_ha_nodes_ip_text.sql
Normal file
20
internal/database/migrations/0028_ha_nodes_ip_text.sql
Normal file
@@ -0,0 +1,20 @@
|
||||
-- +goose Up
|
||||
-- +goose StatementBegin
|
||||
|
||||
-- pgx scannt INET-Spalten nicht direkt in *string (OID 869-Fehler).
|
||||
-- Go-Modell speichert IPs als string — TEXT ist hier korrekt.
|
||||
-- Bestehende Werte bleiben erhalten (USING public_ip::TEXT).
|
||||
ALTER TABLE ha_nodes
|
||||
ALTER COLUMN public_ip TYPE TEXT USING public_ip::TEXT,
|
||||
ALTER COLUMN internal_ip TYPE TEXT USING internal_ip::TEXT,
|
||||
ALTER COLUMN mgmt_ip TYPE TEXT USING mgmt_ip::TEXT;
|
||||
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- +goose Down
|
||||
-- +goose StatementBegin
|
||||
ALTER TABLE ha_nodes
|
||||
ALTER COLUMN public_ip TYPE INET USING public_ip::INET,
|
||||
ALTER COLUMN internal_ip TYPE INET USING internal_ip::INET,
|
||||
ALTER COLUMN mgmt_ip TYPE INET USING mgmt_ip::INET;
|
||||
-- +goose StatementEnd
|
||||
Reference in New Issue
Block a user