From f01d388dd38ed85a86184a95159f0553311c4c44 Mon Sep 17 00:00:00 2001 From: Fabio Manganiello Date: Thu, 13 Feb 2025 18:43:38 +0100 Subject: [PATCH] Bumped migration number --- migrations/v17.go | 51 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 migrations/v17.go diff --git a/migrations/v17.go b/migrations/v17.go new file mode 100644 index 0000000..19607af --- /dev/null +++ b/migrations/v17.go @@ -0,0 +1,51 @@ +/* + * Copyright © 2019-2024 Musing Studio LLC. + * + * This file is part of WriteFreely. + * + * WriteFreely is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, included + * in the LICENSE file in this source code package. + */ + +package migrations + +import ( + "context" + "database/sql" + + wf_db "github.com/writefreely/writefreely/db" +) + +func increasePostContentSize(db *datastore) error { + if db.driverName != driverMySQL { + // Only MySQL databases need this migration + return nil + } + + dialect := wf_db.DialectMySQL + return wf_db.RunTransactionWithOptions(context.Background(), db.DB, &sql.TxOptions{}, func(ctx context.Context, tx *sql.Tx) error { + builders := []wf_db.SQLBuilder{ + dialect.AlterTable("posts"). + ChangeColumn("content", + dialect.Column( + "column", + wf_db.ColumnTypeLongText, + wf_db.OptionalInt{ + Set: false, + Value: 0, + }).SetNullable(false)), + } + for _, builder := range builders { + query, err := builder.ToSQL() + if err != nil { + return err + } + if _, err := tx.ExecContext(ctx, query); err != nil { + return err + } + } + return nil + }) +} +