in backend/plugins/tapd/models/migrationscripts/20230323_add_transformation.go [38:127]
func (*addTransformation) Up(basicRes context.BasicRes) errors.Error {
db := basicRes.GetDal()
err := db.DropTables(archived.TapdSubWorkspace{})
if err != nil {
return err
}
// update all _raw_data_params in tapd tables (delete empty company id)
rawTables := []string{
// raw data tables
`_raw_tapd_api_bug_changelogs`,
`_raw_tapd_api_bug_commits`,
`_raw_tapd_api_bug_custom_fields`,
`_raw_tapd_api_bug_status`,
`_raw_tapd_api_bug_status_last_steps`,
`_raw_tapd_api_bugs`,
`_raw_tapd_api_iterations`,
`_raw_tapd_api_stories`,
`_raw_tapd_api_story_categories`,
`_raw_tapd_api_story_changelogs`,
`_raw_tapd_api_story_commits`,
`_raw_tapd_api_story_custom_fields`,
`_raw_tapd_api_story_status`,
`_raw_tapd_api_story_status_last_steps`,
`_raw_tapd_api_sub_workspaces`,
`_raw_tapd_api_task_changelogs`,
`_raw_tapd_api_task_commits`,
`_raw_tapd_api_task_custom_fields`,
`_raw_tapd_api_tasks`,
`_raw_tapd_api_users`,
`_raw_tapd_api_workitem_types`,
`_raw_tapd_api_worklogs`,
}
for _, rawTable := range rawTables {
if db.HasTable(rawTable) {
err = db.UpdateColumn(
rawTable,
`params`,
dal.DalClause{Expr: "REPLACE(params, '\"CompanyId\":0,', '')"},
dal.Where(`params LIKE '%\"CompanyId\":0,%'`),
)
if err != nil {
return err
}
}
}
allTapdTables := []string{
// tool layer tables
`_tool_tapd_accounts`,
`_tool_tapd_bug_changelog_items`,
`_tool_tapd_bug_changelogs`,
`_tool_tapd_bug_commits`,
`_tool_tapd_bug_custom_fields`,
`_tool_tapd_bug_labels`,
`_tool_tapd_bug_statuses`,
`_tool_tapd_bugs`,
`_tool_tapd_iteration_bugs`,
`_tool_tapd_iteration_stories`,
`_tool_tapd_iteration_tasks`,
`_tool_tapd_iterations`,
`_tool_tapd_stories`,
`_tool_tapd_story_bugs`,
`_tool_tapd_story_categories`,
`_tool_tapd_story_changelog_items`,
`_tool_tapd_story_changelogs`,
`_tool_tapd_story_commits`,
`_tool_tapd_story_custom_fields`,
`_tool_tapd_story_labels`,
}
for _, allTapdTable := range allTapdTables {
if db.HasTable(allTapdTable) {
err = db.UpdateColumn(
allTapdTable,
`_raw_data_params`,
dal.DalClause{Expr: "REPLACE(_raw_data_params, '\"CompanyId\":0,', '')"},
dal.Where(`_raw_data_params LIKE '%\"CompanyId\":0,%'`),
)
if err != nil {
return err
}
}
}
return migrationhelper.AutoMigrateTables(
basicRes,
&archived.TapdTransformationRule{},
&TapdWorkspace20230323{},
)
}