mig := make([]migrate.Migration, 0)
- for _, migration := range migrations {
+ for i := range migrations {
+ index := i
mig = append(mig, migrate.Migration{
- Version: migration.Version,
+ Version: migrations[index].Version,
Up: func(db orm.DB) error {
- for _, query := range migration.Up {
+ for _, query := range migrations[index].Up {
_, err := db.Exec(query)
if err != nil {
return err
return nil
},
Down: func(db orm.DB) error {
- for _, query := range migration.Down {
+ for _, query := range migrations[index].Down {
_, err := db.Exec(query)
if err != nil {
return err
config jsonb
)`,
`CREATE UNIQUE INDEX IF NOT EXISTS market_name_user_id_idx ON public.market_configs (user_id, market_name)`,
- `CREATE INDEX IF NOT EXISTS market_configs_user_id ON market_configs (user_id)`,
+ `CREATE INDEX IF NOT EXISTS market_configs_user_id ON market_configs (user_id)`,
`CREATE TABLE reports (
id BIGSERIAL PRIMARY KEY,
date timestamp with time zone NOT NULL,
Down: []string{"DROP VIEW view_report_lines_by_user", "DROP TABLE report_lines", "DROP TABLE reports", "DROP TABLE market_configs", "DROP TABLE users"},
},
{
- Version: 2,
+ Version: 201805061000,
Up: []string{
`CREATE VIEW "view_balances" AS
- SELECT report_lines.id,
- reports.id AS report_id,
- market_configs.market_name,
- market_configs.id AS market_id,
- reports.date AS report_date,
- report_lines.date,
- report_lines.payload
- FROM report_lines
- JOIN reports ON reports.id = report_lines.report_id
- JOIN market_configs ON reports.market_config_id = market_configs.id
- WHERE report_lines.payload::jsonb->'checkpoint' IS NOT NULL`,
- `CREATE INDEX checkpoints_idx ON report_lines ((payload->>'checkpoint'))`,
+ SELECT report_lines.id,
+ reports.id AS report_id,
+ market_configs.market_name,
+ market_configs.id AS market_id,
+ reports.date AS report_date,
+ report_lines.date,
+ report_lines.payload
+ FROM report_lines
+ JOIN reports ON reports.id = report_lines.report_id
+ JOIN market_configs ON reports.market_config_id = market_configs.id
+ WHERE report_lines.payload::jsonb->'checkpoint' IS NOT NULL`,
+ `CREATE INDEX checkpoints_idx ON report_lines ((payload->>'checkpoint'))`,
},
Down: []string{"DROP VIEW view_balances", "DROP INDEX checkpoints_idx"},
},