Add database migrations and handle leaving private chat portals. Fixes #7

This commit is contained in:
Tulir Asokan
2019-05-16 20:14:32 +03:00
parent 97e740d93d
commit b0d774a5a5
13 changed files with 279 additions and 108 deletions

View File

@ -23,6 +23,8 @@ import (
_ "github.com/mattn/go-sqlite3"
log "maunium.net/go/maulogger/v2"
"maunium.net/go/mautrix-whatsapp/database/upgrades"
)
type Database struct {
@ -64,24 +66,8 @@ func New(dbType string, uri string) (*Database, error) {
return db, nil
}
func (db *Database) CreateTables(dbType string) error {
err := db.User.CreateTable(dbType)
if err != nil {
return err
}
err = db.Portal.CreateTable(dbType)
if err != nil {
return err
}
err = db.Puppet.CreateTable(dbType)
if err != nil {
return err
}
err = db.Message.CreateTable(dbType)
if err != nil {
return err
}
return nil
func (db *Database) Init(dialectName string) error {
return upgrades.Run(db.log.Sub("Upgrade"), dialectName, db.DB)
}
type Scannable interface {