Skip to content

Commit 5ba8e4a

Browse files
committed
fixup! chore: pluralize table names
1 parent 51ea490 commit 5ba8e4a

File tree

13 files changed

+340
-258
lines changed

13 files changed

+340
-258
lines changed

coderd/coderdtest/coderdtest.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func New(t *testing.T, options *Options) *codersdk.Client {
6161
t.Cleanup(func() {
6262
_ = sqlDB.Close()
6363
})
64-
err = database.Migrate(sqlDB)
64+
err = database.MigrateUp(sqlDB)
6565
require.NoError(t, err)
6666
db = database.New(sqlDB)
6767

database/dump.sql

Lines changed: 95 additions & 95 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

database/dump/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func main() {
2424
if err != nil {
2525
panic(err)
2626
}
27-
err = database.Migrate(db)
27+
err = database.MigrateUp(db)
2828
if err != nil {
2929
panic(err)
3030
}

database/migrate.go

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,61 @@ import (
1414
//go:embed migrations/*.sql
1515
var migrations embed.FS
1616

17-
// Migrate runs SQL migrations to ensure the database schema is up-to-date.
18-
func Migrate(db *sql.DB) error {
17+
func migrateSetup(db *sql.DB) (*migrate.Migrate, error) {
1918
sourceDriver, err := iofs.New(migrations, "migrations")
2019
if err != nil {
21-
return xerrors.Errorf("create iofs: %w", err)
20+
return nil, xerrors.Errorf("create iofs: %w", err)
2221
}
22+
2323
dbDriver, err := postgres.WithInstance(db, &postgres.Config{})
2424
if err != nil {
25-
return xerrors.Errorf("wrap postgres connection: %w", err)
25+
return nil, xerrors.Errorf("wrap postgres connection: %w", err)
2626
}
27+
2728
m, err := migrate.NewWithInstance("", sourceDriver, "", dbDriver)
2829
if err != nil {
29-
return xerrors.Errorf("migrate: %w", err)
30+
return nil, xerrors.Errorf("new migrate instance: %w", err)
31+
}
32+
33+
return m, nil
34+
}
35+
36+
// Migrate runs SQL migrations to ensure the database schema is up-to-date.
37+
func MigrateUp(db *sql.DB) error {
38+
m, err := migrateSetup(db)
39+
if err != nil {
40+
return xerrors.Errorf("migrate setup: %w", err)
3041
}
42+
3143
err = m.Up()
3244
if err != nil {
3345
if errors.Is(err, migrate.ErrNoChange) {
3446
// It's OK if no changes happened!
3547
return nil
3648
}
49+
3750
return xerrors.Errorf("up: %w", err)
3851
}
52+
53+
return nil
54+
}
55+
56+
// Migrate runs SQL migrations to ensure the database schema is up-to-date.
57+
func MigrateDown(db *sql.DB) error {
58+
m, err := migrateSetup(db)
59+
if err != nil {
60+
return xerrors.Errorf("migrate setup: %w", err)
61+
}
62+
63+
err = m.Down()
64+
if err != nil {
65+
if errors.Is(err, migrate.ErrNoChange) {
66+
// It's OK if no changes happened!
67+
return nil
68+
}
69+
70+
return xerrors.Errorf("down: %w", err)
71+
}
72+
3973
return nil
4074
}

0 commit comments

Comments
 (0)