upgrade from go-pg to bun
This commit is contained in:
parent
f59f129354
commit
1886be62bc
23 changed files with 415 additions and 385 deletions
66
database/migrations/1_initial.go
Normal file
66
database/migrations/1_initial.go
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
package migrations
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/uptrace/bun"
|
||||
)
|
||||
|
||||
const accountTable = `
|
||||
CREATE TABLE accounts (
|
||||
id serial NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL DEFAULT current_timestamp,
|
||||
updated_at timestamp with time zone DEFAULT current_timestamp,
|
||||
last_login timestamp with time zone NOT NULL DEFAULT current_timestamp,
|
||||
email text NOT NULL UNIQUE,
|
||||
name text NOT NULL,
|
||||
active boolean NOT NULL DEFAULT TRUE,
|
||||
roles text[] NOT NULL DEFAULT '{"user"}',
|
||||
PRIMARY KEY (id)
|
||||
)`
|
||||
|
||||
const tokenTable = `
|
||||
CREATE TABLE tokens (
|
||||
id serial NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL DEFAULT current_timestamp,
|
||||
updated_at timestamp with time zone NOT NULL DEFAULT current_timestamp,
|
||||
account_id int NOT NULL REFERENCES accounts(id),
|
||||
token text NOT NULL UNIQUE,
|
||||
expiry timestamp with time zone NOT NULL,
|
||||
mobile boolean NOT NULL DEFAULT FALSE,
|
||||
identifier text,
|
||||
PRIMARY KEY (id)
|
||||
)`
|
||||
|
||||
func init() {
|
||||
up := []string{
|
||||
accountTable,
|
||||
tokenTable,
|
||||
}
|
||||
|
||||
down := []string{
|
||||
`DROP TABLE tokens`,
|
||||
`DROP TABLE accounts`,
|
||||
}
|
||||
|
||||
Migrations.MustRegister(func(ctx context.Context, db *bun.DB) error {
|
||||
fmt.Println("creating initial tables")
|
||||
for _, q := range up {
|
||||
_, err := db.Exec(q)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}, func(ctx context.Context, db *bun.DB) error {
|
||||
fmt.Println("dropping initial tables")
|
||||
for _, q := range down {
|
||||
_, err := db.Exec(q)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue