/
migrate.go
27 lines (21 loc) · 1012 Bytes
/
migrate.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package migration1585908150
import (
"github.com/jinzhu/gorm"
)
// Migrate changes all json columns to be jsonb
func Migrate(tx *gorm.DB) error {
return tx.Exec(`
UPDATE initiators SET params = NULL WHERE params = '';
ALTER TABLE initiators ALTER COLUMN params TYPE jsonb USING params::jsonb;
UPDATE keys SET json = NULL WHERE json = '';
ALTER TABLE keys ALTER COLUMN json TYPE jsonb USING json::jsonb;
UPDATE run_requests SET request_params = '{}' WHERE request_params = '';
ALTER TABLE run_requests ALTER COLUMN request_params DROP DEFAULT;
ALTER TABLE run_requests ALTER COLUMN request_params TYPE jsonb USING request_params::jsonb;
ALTER TABLE run_requests ALTER COLUMN request_params SET DEFAULT '{}'::jsonb;
UPDATE run_results SET data = NULL WHERE data = '';
ALTER TABLE run_results ALTER COLUMN data TYPE jsonb USING data::jsonb;
UPDATE task_specs SET params = NULL WHERE params = '';
ALTER TABLE task_specs ALTER COLUMN params TYPE jsonb USING params::jsonb;
`).Error
}