|
@@ -1,6 +1,8 @@
|
|
|
package migrations
|
|
|
|
|
|
import (
|
|
|
+ "fmt"
|
|
|
+
|
|
|
"github.com/jmoiron/sqlx"
|
|
|
"github.com/knadh/koanf"
|
|
|
"github.com/knadh/stuffbin"
|
|
@@ -8,13 +10,28 @@ import (
|
|
|
|
|
|
// V0_9_0 performs the DB migrations for v.0.9.0.
|
|
|
func V0_9_0(db *sqlx.DB, fs stuffbin.FileSystem, ko *koanf.Koanf) error {
|
|
|
- _, err := db.Exec(`
|
|
|
+ if _, err := db.Exec(`
|
|
|
INSERT INTO settings (key, value) VALUES
|
|
|
('app.lang', '"en"'),
|
|
|
('app.message_sliding_window', 'false'),
|
|
|
('app.message_sliding_window_duration', '"1h"'),
|
|
|
('app.message_sliding_window_rate', '10000')
|
|
|
ON CONFLICT DO NOTHING;
|
|
|
- `)
|
|
|
- return err
|
|
|
+ `); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ // Until this version, the default template during installation was broken!
|
|
|
+ // Check if there's a broken default template and if yes, override it with the
|
|
|
+ // actual one.
|
|
|
+ tplBody, err := fs.Get("/static/email-templates/default.tpl")
|
|
|
+ if err != nil {
|
|
|
+ return fmt.Errorf("error reading default e-mail template: %v", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if _, err := db.Exec(`UPDATE templates SET body=$1 WHERE body=$2`,
|
|
|
+ tplBody.ReadBytes(), `{{ template "content" . }}`); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ return nil
|
|
|
}
|