dcbot/internal/bundb/migrations/20221022051838_create_monitors_table.go
Dawid Wysokiński 58f73e9ca8
All checks were successful
continuous-integration/drone/push Build is passing
feat: add a new command - /monitor create (#21)
Reviewed-on: #21
2022-10-23 06:20:48 +00:00

32 lines
768 B
Go

package migrations
import (
"context"
"fmt"
"gitea.dwysokinski.me/twhelp/dcbot/internal/bundb/internal/model"
"github.com/uptrace/bun"
)
func init() {
Migrations.MustRegister(func(ctx context.Context, db *bun.DB) error {
if _, err := db.NewCreateTable().
Model(&model.Monitor{}).
Varchar(defaultVarcharLength).
ForeignKey(`(group_id) REFERENCES groups (id) ON DELETE CASCADE`).
Exec(ctx); err != nil {
return fmt.Errorf("couldn't create the 'monitors' table: %w", err)
}
return nil
}, func(ctx context.Context, db *bun.DB) error {
if _, err := db.NewDropTable().
Model(&model.Group{}).
IfExists().
Cascade().
Exec(ctx); err != nil {
return fmt.Errorf("couldn't drop the 'monitors' table: %w", err)
}
return nil
})
}