+8
-7
cmd/cocoon/main.go
+8
-7
cmd/cocoon/main.go
···
47
47
},
48
48
&cli.StringFlag{
49
49
Name: "database-url",
50
+
Aliases: []string{"db-url"},
50
51
Usage: "PostgreSQL connection string (required if db-type is postgres)",
51
52
EnvVars: []string{"COCOON_DATABASE_URL", "DATABASE_URL"},
52
53
},
···
293
294
},
294
295
},
295
296
Action: func(cmd *cli.Context) error {
296
-
db, err := newDb()
297
+
db, err := newDb(cmd)
297
298
if err != nil {
298
299
return err
299
300
}
···
332
333
},
333
334
},
334
335
Action: func(cmd *cli.Context) error {
335
-
db, err := newDb()
336
+
db, err := newDb(cmd)
336
337
if err != nil {
337
338
return err
338
339
}
···
359
360
},
360
361
}
361
362
362
-
func newDb() (*gorm.DB, error) {
363
-
dbType := os.Getenv("COCOON_DB_TYPE")
363
+
func newDb(cmd *cli.Context) (*gorm.DB, error) {
364
+
dbType := cmd.String("db-type")
364
365
if dbType == "" {
365
366
dbType = "sqlite"
366
367
}
367
368
368
369
switch dbType {
369
370
case "postgres":
370
-
databaseURL := os.Getenv("COCOON_DATABASE_URL")
371
+
databaseURL := cmd.String("database-url")
371
372
if databaseURL == "" {
372
-
databaseURL = os.Getenv("DATABASE_URL")
373
+
databaseURL = cmd.String("database-url")
373
374
}
374
375
if databaseURL == "" {
375
376
return nil, fmt.Errorf("COCOON_DATABASE_URL or DATABASE_URL must be set when using postgres")
376
377
}
377
378
return gorm.Open(postgres.Open(databaseURL), &gorm.Config{})
378
379
default:
379
-
dbName := os.Getenv("COCOON_DB_NAME")
380
+
dbName := cmd.String("db-name")
380
381
if dbName == "" {
381
382
dbName = "cocoon.db"
382
383
}