Skip to content

Commit 342c090

Browse files
authored
Add support for configuring automatic migration (and default to false) (#85)
1 parent 9327a94 commit 342c090

File tree

2 files changed

+32
-18
lines changed

2 files changed

+32
-18
lines changed

cmd/warrant/main.go

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,11 @@ func (env *ServiceEnv) InitDB(config config.Config) error {
5757
return err
5858
}
5959

60-
err = db.Migrate(ctx, MySQLDatastoreMigrationVersion)
61-
if err != nil {
62-
return err
60+
if config.AutoMigrate {
61+
err = db.Migrate(ctx, MySQLDatastoreMigrationVersion)
62+
if err != nil {
63+
return err
64+
}
6365
}
6466

6567
env.Datastore = db
@@ -73,9 +75,11 @@ func (env *ServiceEnv) InitDB(config config.Config) error {
7375
return err
7476
}
7577

76-
err = db.Migrate(ctx, PostgresDatastoreMigrationVersion)
77-
if err != nil {
78-
return err
78+
if config.AutoMigrate {
79+
err = db.Migrate(ctx, PostgresDatastoreMigrationVersion)
80+
if err != nil {
81+
return err
82+
}
7983
}
8084

8185
env.Datastore = db
@@ -89,9 +93,11 @@ func (env *ServiceEnv) InitDB(config config.Config) error {
8993
return err
9094
}
9195

92-
err = db.Migrate(ctx, SQLiteDatastoreMigrationVersion)
93-
if err != nil {
94-
return err
96+
if config.AutoMigrate {
97+
err = db.Migrate(ctx, SQLiteDatastoreMigrationVersion)
98+
if err != nil {
99+
return err
100+
}
95101
}
96102

97103
env.Datastore = db
@@ -112,9 +118,11 @@ func (env *ServiceEnv) InitEventDB(config config.Config) error {
112118
return err
113119
}
114120

115-
err = db.Migrate(ctx, MySQLEventstoreMigrationVersion)
116-
if err != nil {
117-
return err
121+
if config.AutoMigrate {
122+
err = db.Migrate(ctx, MySQLEventstoreMigrationVersion)
123+
if err != nil {
124+
return err
125+
}
118126
}
119127

120128
env.Eventstore = db
@@ -128,9 +136,11 @@ func (env *ServiceEnv) InitEventDB(config config.Config) error {
128136
return err
129137
}
130138

131-
err = db.Migrate(ctx, PostgresEventstoreMigrationVersion)
132-
if err != nil {
133-
return err
139+
if config.AutoMigrate {
140+
err = db.Migrate(ctx, PostgresEventstoreMigrationVersion)
141+
if err != nil {
142+
return err
143+
}
134144
}
135145

136146
env.Eventstore = db
@@ -144,9 +154,11 @@ func (env *ServiceEnv) InitEventDB(config config.Config) error {
144154
return err
145155
}
146156

147-
err = db.Migrate(ctx, SQLiteEventstoreMigrationVersion)
148-
if err != nil {
149-
return err
157+
if config.AutoMigrate {
158+
err = db.Migrate(ctx, SQLiteEventstoreMigrationVersion)
159+
if err != nil {
160+
return err
161+
}
150162
}
151163

152164
env.Eventstore = db

pkg/config/config.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ type Config struct {
2929
Port int `mapstructure:"port"`
3030
LogLevel int8 `mapstructure:"logLevel"`
3131
EnableAccessLog bool `mapstructure:"enableAccessLog"`
32+
AutoMigrate bool `mapstructure:"autoMigrate"`
3233
Datastore *DatastoreConfig `mapstructure:"datastore"`
3334
Eventstore *EventstoreConfig `mapstructure:"eventstore"`
3435
ApiKey string `mapstructure:"apiKey"`
@@ -89,6 +90,7 @@ func NewConfig() Config {
8990
viper.SetDefault("port", 8000)
9091
viper.SetDefault("levelLevel", zerolog.DebugLevel)
9192
viper.SetDefault("enableAccessLog", true)
93+
viper.SetDefault("autoMigrate", false)
9294
viper.SetDefault("datastore.mysql.migrationSource", DefaultMySQLDatastoreMigrationSource)
9395
viper.SetDefault("datastore.postgres.migrationSource", DefaultPostgresDatastoreMigrationSource)
9496
viper.SetDefault("datastore.sqlite.migrationSource", DefaultSQLiteDatastoreMigrationSource)

0 commit comments

Comments
 (0)