Merge pull request #295 from writeas/optimize-drafts-fetch
Optimize Drafts retrieval
This commit is contained in:
commit
2aa154d85c
2 changed files with 38 additions and 0 deletions
|
@ -64,6 +64,7 @@ var migrations = []Migration{
|
||||||
New("support ActivityPub mentions", supportActivityPubMentions), // V5 -> V6
|
New("support ActivityPub mentions", supportActivityPubMentions), // V5 -> V6
|
||||||
New("support oauth attach", oauthAttach), // V6 -> V7
|
New("support oauth attach", oauthAttach), // V6 -> V7
|
||||||
New("support oauth via invite", oauthInvites), // V7 -> V8 (v0.12.0)
|
New("support oauth via invite", oauthInvites), // V7 -> V8 (v0.12.0)
|
||||||
|
New("optimize drafts retrieval", optimizeDrafts), // V8 -> V9
|
||||||
}
|
}
|
||||||
|
|
||||||
// CurrentVer returns the current migration version the application is on
|
// CurrentVer returns the current migration version the application is on
|
||||||
|
|
37
migrations/v9.go
Normal file
37
migrations/v9.go
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* Copyright © 2020 A Bunch Tell 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 optimizeDrafts(db *datastore) error {
|
||||||
|
t, err := db.Begin()
|
||||||
|
if err != nil {
|
||||||
|
t.Rollback()
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if db.driverName == driverSQLite {
|
||||||
|
_, err = t.Exec(`CREATE INDEX key_owner_post_id ON posts (owner_id, id)`)
|
||||||
|
} else {
|
||||||
|
_, err = t.Exec(`ALTER TABLE posts ADD INDEX(owner_id, id)`)
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
t.Rollback()
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = t.Commit()
|
||||||
|
if err != nil {
|
||||||
|
t.Rollback()
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue