|
- /*
- * Copyright © 2021 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
-
- func supportLetters(db *datastore) error {
- t, err := db.Begin()
- if err != nil {
- t.Rollback()
- return err
- }
-
- _, err = t.Exec(`CREATE TABLE publishjobs (
- id ` + db.typeIntPrimaryKey() + `,
- post_id ` + db.typeVarChar(16) + ` not null,
- action ` + db.typeVarChar(16) + ` not null,
- delay ` + db.typeTinyInt() + ` not null
- )`)
- if err != nil {
- t.Rollback()
- return err
- }
-
- _, err = t.Exec(`CREATE TABLE emailsubscribers (
- id ` + db.typeChar(8) + ` not null,
- collection_id ` + db.typeInt() + ` not null,
- user_id ` + db.typeInt() + ` null,
- email ` + db.typeVarChar(255) + ` null,
- subscribed ` + db.typeDateTime() + ` not null,
- token ` + db.typeChar(16) + ` not null,
- confirmed ` + db.typeBool() + ` default 0 not null,
- allow_export ` + db.typeBool() + ` default 0 not null,
- constraint eu_coll_email
- unique (collection_id, email),
- constraint eu_coll_user
- unique (collection_id, user_id),
- PRIMARY KEY (id)
- )`)
- if err != nil {
- t.Rollback()
- return err
- }
-
- err = t.Commit()
- if err != nil {
- t.Rollback()
- return err
- }
-
- return nil
- }
|