From c6d29fc20122813d545f37f9117522711bc2bc87 Mon Sep 17 00:00:00 2001 From: adlerhurst Date: Thu, 11 May 2023 10:04:35 +0200 Subject: [PATCH] fix(eventstore): new column to test clock_timestamp() --- cmd/setup/10.go | 6 ++--- cmd/setup/{ => 10}/10_create_temp_table.sql | 0 cmd/setup/{ => 10}/10_fill_table.sql | 0 cmd/setup/{ => 10}/10_update.sql | 0 cmd/setup/11.go | 26 +++++++++++++++++++++ cmd/setup/11.sql | 1 + cmd/setup/config.go | 1 + cmd/setup/setup.go | 3 +++ 8 files changed, 34 insertions(+), 3 deletions(-) rename cmd/setup/{ => 10}/10_create_temp_table.sql (100%) rename cmd/setup/{ => 10}/10_fill_table.sql (100%) rename cmd/setup/{ => 10}/10_update.sql (100%) create mode 100644 cmd/setup/11.go create mode 100644 cmd/setup/11.sql diff --git a/cmd/setup/10.go b/cmd/setup/10.go index fd8683f49dc..1661ccf7ddd 100644 --- a/cmd/setup/10.go +++ b/cmd/setup/10.go @@ -13,11 +13,11 @@ import ( ) var ( - //go:embed 10_create_temp_table.sql + //go:embed 10/10_create_temp_table.sql correctCreationDate10CreateTable string - //go:embed 10_fill_table.sql + //go:embed 10/10_fill_table.sql correctCreationDate10FillTable string - //go:embed 10_update.sql + //go:embed 10/10_update.sql correctCreationDate10Update string ) diff --git a/cmd/setup/10_create_temp_table.sql b/cmd/setup/10/10_create_temp_table.sql similarity index 100% rename from cmd/setup/10_create_temp_table.sql rename to cmd/setup/10/10_create_temp_table.sql diff --git a/cmd/setup/10_fill_table.sql b/cmd/setup/10/10_fill_table.sql similarity index 100% rename from cmd/setup/10_fill_table.sql rename to cmd/setup/10/10_fill_table.sql diff --git a/cmd/setup/10_update.sql b/cmd/setup/10/10_update.sql similarity index 100% rename from cmd/setup/10_update.sql rename to cmd/setup/10/10_update.sql diff --git a/cmd/setup/11.go b/cmd/setup/11.go new file mode 100644 index 00000000000..97f6bf66878 --- /dev/null +++ b/cmd/setup/11.go @@ -0,0 +1,26 @@ +package setup + +import ( + "context" + _ "embed" + + "github.com/zitadel/zitadel/internal/database" +) + +var ( + //go:embed 11.sql + addEventCreatedAt string +) + +type AddEventCreatedAt struct { + dbClient *database.DB +} + +func (mig *AddEventCreatedAt) Execute(ctx context.Context) error { + _, err := mig.dbClient.ExecContext(ctx, addEventCreatedAt) + return err +} + +func (mig *AddEventCreatedAt) String() string { + return "11_event_created_at" +} diff --git a/cmd/setup/11.sql b/cmd/setup/11.sql new file mode 100644 index 00000000000..28b49e47473 --- /dev/null +++ b/cmd/setup/11.sql @@ -0,0 +1 @@ +ALTER TABLE eventstore.events ADD COLUMN created_at TIMESTAMPTZ /*NOT NULL*/ DEFAULT clock_timestamp(); \ No newline at end of file diff --git a/cmd/setup/config.go b/cmd/setup/config.go index dc75d54048f..5e9819e4c73 100644 --- a/cmd/setup/config.go +++ b/cmd/setup/config.go @@ -66,6 +66,7 @@ type Steps struct { s8AuthTokens *AuthTokenIndexes s9EventstoreIndexes2 *EventstoreIndexesNew CorrectCreationDate *CorrectCreationDate + s11AddEventCreatedAt *AddEventCreatedAt } type encryptionKeyConfig struct { diff --git a/cmd/setup/setup.go b/cmd/setup/setup.go index 918f08dc2d0..31df9f26573 100644 --- a/cmd/setup/setup.go +++ b/cmd/setup/setup.go @@ -91,6 +91,7 @@ func Setup(config *Config, steps *Steps, masterKey string) { steps.s8AuthTokens = &AuthTokenIndexes{dbClient: dbClient} steps.s9EventstoreIndexes2 = New09(dbClient) steps.CorrectCreationDate.dbClient = dbClient + steps.s11AddEventCreatedAt = &AddEventCreatedAt{dbClient: dbClient} err = projection.Create(ctx, dbClient, eventstoreClient, config.Projections, nil, nil) logging.OnError(err).Fatal("unable to start projections") @@ -128,6 +129,8 @@ func Setup(config *Config, steps *Steps, masterKey string) { logging.OnError(err).Fatal("unable to migrate step 9") err = migration.Migrate(ctx, eventstoreClient, steps.CorrectCreationDate) logging.OnError(err).Fatal("unable to migrate step 10") + err = migration.Migrate(ctx, eventstoreClient, steps.s11AddEventCreatedAt) + logging.OnError(err).Fatal("unable to migrate step 11") for _, repeatableStep := range repeatableSteps { err = migration.Migrate(ctx, eventstoreClient, repeatableStep)