mirror of https://github.com/writeas/writefreely
`TEXT` -> 64kB `MEDIUMTEXT` -> 16MB Closes: https://github.com/writefreely/writefreely/issues/987pull/1145/head
parent
e29f371232
commit
13ce3d0784
@ -0,0 +1,50 @@ |
||||
/* |
||||
* 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 |
||||
}) |
||||
} |
Loading…
Reference in new issue