diff --git a/main.go b/main.go index 27bbfe82..36b2bedf 100755 --- a/main.go +++ b/main.go @@ -386,16 +386,6 @@ func main() { // Set DB reference in S3Manager for lazy client initialization GetS3Manager().SetDB(db) - // Initialize the schema - if err = initializeSchema(db); err != nil { - log.Fatal().Err(err).Msg("Failed to initialize schema") - // Perform cleanup before exiting - if err := db.Close(); err != nil { - log.Error().Err(err).Msg("Failed to close database connection during cleanup") - } - os.Exit(1) - } - var dbLog waLog.Logger if *waDebug != "" { dbLog = waLog.Stdout("Database", *waDebug, *colorOutput) @@ -420,6 +410,16 @@ func main() { os.Exit(1) } + // Initialize the schema + if err = initializeSchema(db); err != nil { + log.Fatal().Err(err).Msg("Failed to initialize schema") + // Perform cleanup before exiting + if err := db.Close(); err != nil { + log.Error().Err(err).Msg("Failed to close database connection during cleanup") + } + os.Exit(1) + } + serverMode := HTTP if *mode == "stdio" { serverMode = Stdio diff --git a/migrations.go b/migrations.go index bbd182fb..46f2a3a0 100644 --- a/migrations.go +++ b/migrations.go @@ -220,9 +220,12 @@ END $$; ` const addWhatsmeowMessageSecretsMessageIDIndexSQL = ` -CREATE INDEX CONCURRENTLY IF NOT EXISTS whatsmeow_message_secrets_message_id_idx -ON public.whatsmeow_message_secrets (message_id); - +-- PostgreSQL version +DO $$ +BEGIN + CREATE INDEX IF NOT EXISTS whatsmeow_message_secrets_message_id_idx + ON whatsmeow_message_secrets (message_id); +END $$; -- SQLite version (handled in code) `