|
package ocpmigrations
import (
"database/sql"
"github.com/RedHatInsights/insights-results-aggregator/migration"
"github.com/RedHatInsights/insights-results-aggregator/types"
)
var mig0020ModifyAdvisorRatingsTable = migration . Migration {
StepUp : func ( tx * sql . Tx , driver types . DBDriver ) error {
|
common code for renaming column and adding a new one
|
_ , err := tx . Exec ( `
ALTER TABLE advisor_ratings RENAME COLUMN rule_id TO rule_fqdn;
ALTER TABLE advisor_ratings ADD COLUMN rule_id VARCHAR NOT NULL DEFAULT '.';
` )
if err != nil {
return err
}
|
Rename ruleid to rulefqdn
|
_ , err = tx . Exec ( `
UPDATE advisor_ratings SET rule_id = CONCAT(rule_fqdn, '|', error_key);
` )
return err
} ,
StepDown : func ( tx * sql . Tx , driver types . DBDriver ) error {
|
Remove the rule_id column
|
_ , err := tx . Exec ( `
ALTER TABLE advisor_ratings DROP COLUMN IF EXISTS rule_id;
` )
if err != nil {
return err
}
|
Rename rulefqdn back to ruleid
|
_ , err = tx . Exec ( `
ALTER TABLE advisor_ratings RENAME COLUMN rule_fqdn TO rule_id;
` )
return err
} ,
}
|