前言
m_parameter_template参数模板原来为一个包含很多信息的表,目前业务需求,需要把表中一些信息提取出放到另一个表m_parameter_file,pt表通过一个外键parameter_file_id关联到pf表。这样对表pf可以有更多的操作,分离部分操作,实现数据解耦。
目标
将pt表的外键parameter_file_id根据pt表还未删除的字段parameter_file_name(pf表已经复制了这个字段作为name字段)等于pf.name来实现关联pf.id主键,方便hibernate进行本地测试。
结果
update m_parameter_template as pt
left join m_parameter_file as pf
on pf.name = pt.parameter_file_name
set pt.parameter_file_id = pf.id;
基本操作
/*部分数据复制迁移,某些字段m_parameter_template迁移到m_parameter_file*/
insert into m_parameter_file(id, name, description, insert_time, last_modified_time, application_provider_id, config_file_id, owner_id)
select id, parameter_file_name, description, insert_time, last_modified_time, application_provider_id, config_file_id, owner_id from m_parameter_template;
/*删除外键*/
ALTER TABLE `r_parameter_template_jar_file` DROP FOREIGN KEY `FKB16DDE2D32341F1`;
/*删除索引*/
ALTER TABLE `m_parameter_template` DROP KEY `FK98E5627DBE949A`;
/*增加外键约束*/
alter table `r_parameter_template_jar_file` add constraint `FKB16DDE2D32341F1`
foreign key(`parameter_template_id`) REFERENCES `m_parameter_file`(`id`);
/*数据表更名*/
alter table r_parameter_template_jar_file RENAME r_parameter_file_jar_file;
/*增加字段*/
alter table m_parameter_template add column parameter_file_id bigint(20) NOT NULL;
/*删除字段*/
alter table m_parameter_template drop column parameter_file_name;