62 lines
1.2 KiB
Go
62 lines
1.2 KiB
Go
package migrations
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"fr.latosa-escrima/core/models"
|
|
"github.com/uptrace/bun"
|
|
)
|
|
|
|
func init() {
|
|
Migrations.MustRegister(func(ctx context.Context, db *bun.DB) error {
|
|
fmt.Print(" [up migration] ")
|
|
_, err := db.NewAddColumn().
|
|
Model((*models.Event)(nil)).
|
|
ColumnExpr("full_day BOOLEAN NOT NULL DEFAULT FALSE").
|
|
Exec(ctx)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// Add "is_visible" column
|
|
_, err = db.NewAddColumn().
|
|
Model((*models.Event)(nil)).
|
|
ColumnExpr("is_visible BOOLEAN NOT NULL DEFAULT TRUE").
|
|
Exec(ctx)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
// Add "rrule" column
|
|
_, err = db.NewAddColumn().
|
|
Model((*models.Event)(nil)).
|
|
ColumnExpr("rrule TEXT").
|
|
Exec(ctx)
|
|
return err
|
|
}, func(ctx context.Context, db *bun.DB) error {
|
|
fmt.Print(" [down migration] ")
|
|
_, err := db.NewDropColumn().
|
|
Model((*models.Event)(nil)).
|
|
Column("full_day").
|
|
Exec(ctx)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
_, err = db.NewDropColumn().
|
|
Model((*models.Event)(nil)).
|
|
Column("is_visible").
|
|
Exec(ctx)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
_, err = db.NewDropColumn().
|
|
Model((*models.Event)(nil)).
|
|
Column("rrule").
|
|
Exec(ctx)
|
|
return err
|
|
})
|
|
}
|