|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
* Copyright © 2018-2023 A Bunch Tell LLC. |
|
|
|
* Copyright © 2021 A Bunch Tell LLC. |
|
|
|
* |
|
|
|
* |
|
|
|
* This file is part of WriteFreely. |
|
|
|
* This file is part of WriteFreely. |
|
|
|
* |
|
|
|
* |
|
|
@ -9,3 +9,52 @@ |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
package migrations |
|
|
|
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.typeInt() + ` auto_increment, |
|
|
|
|
|
|
|
post_id ` + db.typeVarChar(16) + ` not null, |
|
|
|
|
|
|
|
action ` + db.typeVarChar(16) + ` not null, |
|
|
|
|
|
|
|
delay ` + db.typeTinyInt() + ` not null, |
|
|
|
|
|
|
|
PRIMARY KEY (id) |
|
|
|
|
|
|
|
)`) |
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
|
|
|
t.Rollback() |
|
|
|
|
|
|
|
return err |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: fix for SQLite database
|
|
|
|
|
|
|
|
_, err = t.Exec(`CREATE TABLE emailsubscribers ( |
|
|
|
|
|
|
|
id char(8) not null, |
|
|
|
|
|
|
|
collection_id int not null, |
|
|
|
|
|
|
|
user_id int null, |
|
|
|
|
|
|
|
email varchar(255) null, |
|
|
|
|
|
|
|
subscribed datetime not null, |
|
|
|
|
|
|
|
token char(16) not null, |
|
|
|
|
|
|
|
confirmed tinyint(1) default 0 not null, |
|
|
|
|
|
|
|
allow_export tinyint(1) 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 |
|
|
|
|
|
|
|
} |
|
|
|