开平区的数据迁移工作

select * from t_cmts_disk  ;

-- 备课资源 (复制资源目录)
select path_content from t_cmts_disk where mediatype_id=‘002‘ and stage_id=? and subject_id=?   -- ; path_id:0000 -- 旧资源

select stage_id,stage_name          from t_stype_stage;             -- 学段
select stage_id,stage_name from dsideal_db_tskp.t_dm_stage;  -- 4:小学:0001  5:初中:0002  6:高中:0003

select subject_id,subject_name from t_stype_subject;         -- 学科
select subject_id,subject_name,stage_id from dsideal_db_tskp.t_dm_subject;

select version_id,version_name from t_stype_version;        -- 版本
select tm_id,tm_name from t_stype_tm;                                        -- 教材
select node_id,node_name,node_code from t_stype_node;        -- 章节目录表

-- 资源表
select     t1.cmtsresourceid,         -- 资源ID GUID
                t1.createtime,                -- 创建时间
                t1.fileext,                        -- 扩展名
                t1.filename,                    -- 文件名
                t1.filesize,                    -- 文件大小,整数
                t1.ismultifile,                -- 是不是复合文件
                t1.title,                            -- 标题
                t1.categoryid,                -- 应用类型
                t1.fileext,                        -- 扩展名
                t1.new_mediatype_id,    -- 媒体类型
                t1.new_mediatype_name,-- 媒体类型
                t1.new_stage_id,            -- 目标库的学段
                t1.new_subject_id,      -- 目的库的学科

                t1.versionid,                    -- 版本
                t1.nodeid,                        -- 结点                                

                t1.new_user_id    ,            -- 用户ID
                t1.new_user_name,            -- 用户姓名
                t1.new_path                    -- 新资源路径    

        from t_cmts_cmtsresource t1 where isdelete=0 limit 100;

-- ----------------------------------------------------------------
use zyk_ts;
-- ======================================================================================================
-- 媒体类型
-- 修正一下实现完整对应
update t_stype_mediatype set mediatype_name=‘图片‘ where mediatype_id=‘002‘;
update t_stype_mediatype set mediatype_name=‘其他‘ where mediatype_id=‘007‘;
alter table t_cmts_cmtsresource add column new_mediatype_id varchar(36);
alter table t_cmts_cmtsresource add column new_mediatype_name varchar(36);
-- 删除270个没有检查到的
delete from t_cmts_cmtsresource where fileext not in (select extension_name from dsideal_db_tskp.t_resource_extension);
-- 添加新表中对应的媒体类型ID
update t_cmts_cmtsresource t1 inner join dsideal_db_tskp.t_resource_extension t2  on t1.fileext=t2.extension_name set  t1.new_mediatype_id=t2.extension_id;
-- 添加新表中对应的媒体类型名称
update t_cmts_cmtsresource t1 inner join dsideal_db_tskp.t_resource_extension t2  on t1.fileext=t2.extension_name set  t1.new_mediatype_name=t2.mediatype_name;
-- ======================================================================================================
-- 学段名称
alter table t_cmts_cmtsresource add column stage_name varchar(30);
update t_cmts_cmtsresource t1 inner join t_stype_stage t2   on t1.stageid=t2.stage_id set  t1.stage_name=t2.stage_name ;
-- 科目名称
alter table t_cmts_cmtsresource add column subject_name varchar(30);
update t_cmts_cmtsresource t1 inner join t_stype_subject t2 on t1.subjectid=t2.subject_id set t1.subject_name=t2.subject_name ;

-- 在新的表中的学段ID
alter table t_cmts_cmtsresource add column new_stage_id varchar(30);
-- 目标的学段ID
update t_cmts_cmtsresource t1 set t1.new_stage_id=4 where stageid=‘0001‘;
update t_cmts_cmtsresource t1 set t1.new_stage_id=5 where stageid=‘0002‘;
update t_cmts_cmtsresource t1 set t1.new_stage_id=6 where stageid=‘0003‘;

-- 在新的表中的科目ID
alter table t_cmts_cmtsresource add column new_subject_id varchar(30);
-- 目标的科目ID
update t_cmts_cmtsresource t1 inner join dsideal_db_tskp.t_dm_subject t2 on t1.subject_name=t2.subject_name and t1.new_stage_id=t2.stage_id
set t1.new_subject_id=t2.subject_id;
-- ======================================================================================================

-- 新的版本ID
-- alter table t_cmts_cmtsresource add column new_scheme_id varchar(36);
-- 目标的版本ID
-- update t_cmts_cmtsresource t1 inner join dsideal_db_tskp.t_resource_scheme t2 on t1.versionid=t2.old_version_id set t1.new_scheme_id=t2.scheme_id;
-- 新的版本名称
alter table t_cmts_cmtsresource add column new_scheme_name varchar(36);

-- ======================================================================================================
-- 新的完整的路径
alter table t_cmts_cmtsresource add column new_path varchar(128);
update t_cmts_cmtsresource set mediatypeid=‘002‘;
-- 旧资源
update t_cmts_cmtsresource t1  set t1.new_path=CONCAT(‘D:/dsideal_cmts/Tomcat_7.0.34/webapps/cmts/uploadfiles/resources‘,t1.filepath) where t1.resfrom is null;
-- 新资源
update t_cmts_cmtsresource t1 inner join t_cmts_disk t2 on t1.stageid=t2.stage_id and t1.subjectid=t2.subject_id and t1.mediatypeid=t2.mediatype_id
set t1.new_path=concat(t2.path_content,t1.filepath) where t1.resfrom is not null;
-- ======================================================================================================
-- 用户名称
alter table t_cmts_cmtsresource add column new_user_id varchar(128);
alter table t_cmts_cmtsresource add column new_user_name varchar(128);

update t_cmts_cmtsresource t1 inner join dsideal_db_tskp.t_sys_loginperson t2   on t1.userid=t2.old_user_uuid set  t1.new_user_id=t2.person_id ;
update t_cmts_cmtsresource t1 inner join dsideal_db_tskp.t_sys_loginperson t2   on t1.userid=t2.old_user_uuid set  t1.new_user_name=t2.person_name ;
-- ======================================================================================================
-- 应用类型:     app_type_id:2 默认是素材
--                          res_type :2
                        -- 媒体类型:resource_type_name,resource_type
                        -- meterial_type:和媒体类型一样
--                          bk_type,bk_type_name
                        -- release_status:1
                      -- parent_structure_name:-1
                      -- reource_size_int :-1

-- 备课类型:    001    课件
-- 002    教案     1
-- 003    学案     2
-- 006    微课堂   3
-- 007    视频课堂 4
-- 007    视频课堂 5
alter table t_cmts_cmtsresource add column new_thumb_status varchar(128);
alter table t_cmts_cmtsresource add column new_preview_status varchar(128);
alter table t_cmts_cmtsresource add column new_thumb_id varchar(128);
update t_cmts_cmtsresource t1 inner join dsideal_db_tskp.t_resource_extension t2   on t1.fileext=t2.extension_name set
t1.new_thumb_status=t2.thumb_status , t1.new_preview_status=t2.preview_status , t1.new_thumb_id=t2.thumb_id ;
-- ======================================================================================================
-- 标识为来自开平
alter table dsideal_db_tskp.t_resource_base add column from_Kp int;
alter table dsideal_db_tskp.t_resource_info add column from_Kp int;

-- 记录原始路径
alter table dsideal_db_tskp.t_resource_base add column old_file_path varchar(128);
-- ======================================================================================================
-- 要求前端人员小蒙:将备课的类型修改为:
-- 002    教案     1
-- 003    学案     2
-- 006    微课堂   3
-- 007    视频课堂 4
-- 007    视频课堂 5
-- ======================================================================================================
-- 宽城的版权信息等需要修改。
-- ======================================================================================================
select resource_id_int,resource_id_char,resource_title,resource_size,resource_size_int,resource_type,
resource_type_name,resource_category,resource_page,create_time,person_name,create_person,b_use,update_logo,ts,
source_id,extension,file_id,file_md5,file_sha1,thumb_id,thumb_md5,thumb_sha1,pinyin,product_id,scheme_id_char,
scheme_id,structure_code,structure_id_char,structure_id,material_type,is_single,is_old,preview_status,down_count,
check_status,check_message,thumb_status,old_file_path,is_multifile,chuli,is_3_2,parent_name,width,height,
for_urlencoder_url,for_iso_url,release_status,res_type,bk_type,bk_type_name,m3u8_status,m3u8_url,stage_id,subject_id ,from_Kp
from dsideal_db_tskp.t_resource_base limit 1;

select id,resource_id_int,resource_id_char,resource_title,resource_type_name,
             resource_format,resource_page,resource_size,resource_size_int,create_time,
             down_count,file_id,thumb_id,resource_type,structure_id,person_id,person_name,identity_id,
             group_id,preview_status,scheme_id_int,ts,thumb_status,update_ts,for_urlencoder_url,for_iso_url,
             width,height,parent_structure_name,release_status,res_type,bk_type,bk_type_name,material_type,m3u8_status,
             m3u8_url,app_type_id,stage_id,subject_id,from_Kp
 from dsideal_db_tskp.t_resource_info;
时间: 2024-10-15 13:17:30

开平区的数据迁移工作的相关文章

数据迁移经验总结——亿级别多表异构的数据迁移工作

由于系统改版,最近三个月在做数据迁移工作,由于业务的特殊,基本将数据迁移所能踩的坑都踩了一遍,决定好好做个总结. 迁移类型--新老系统表结构变化较大的历史数据 一.核心问题 1.新老表结构变化极大.新表是以deliver为核心,另外还涉及仓储系统的一张表,订单系统的4张表,并按照新的逻辑映射关系进行迁移. 2.增量数据迁移.在全量数据迁移时必然会有新的数据,这些数据应该实时进行迁移 3.亿级别数据性能.效率的考虑.由于订单业务非常重要,数据迁移带来的qps对数据库的压力非常大,需要不断测试迭代找

数据迁移工作总结

这两天,公司项目excel数据功能扩展,需要对历史数据进行数据迁移. 公司最近几次重大功能的上线,都设计到数据迁移问题.可以说数据迁移是产品上线之前,重要的一个环节.数据迁移一般设计的问题较多,不单单是数据位置的变动,更多的是数据格式要变化. 这两天我的任务就是根据原有的四个数据库表合成新的三张数据库表,同时将历史的excel数据格式进行转换,存储的MongoDB中.这数据迁移的过程中,还是有很多问题需要注意的. 首先,就是数据迁移时间问题.数据迁移尽量要在短时内搞定,因为只有在短时间内搞定,保

数据迁移实战:基于Kettle的Mysql到DB2的数据迁移

From:https://my.oschina.net/simpleton/blog/525675 一.什么是ETL ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.ETL一词较常用在数据仓库,但其对象并不限于数据仓库. 二.Kettle简单说明 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定

ThinkPhp5 数据迁移(think-migration)

在thinkphp5中提供了数据迁移工具(think-migration),它是机遇phinx开发(文档地址:http://docs.phinx.org/en/latest/) 一:配置think-migration 在commond.php 中添加 <?php return [ "think\\migration\\command\\migrate\\Create", "think\\migration\\command\\migrate\\Run", &q

在线数据迁移经验:如何为正在飞行的飞机更换引擎

在线数据迁移,是指将正在提供线上服务的数据,从一个地方迁移到另一个地方,整个迁移过程中要求不停机,服务不受影响.根据数据所处层次,可以分为cache迁移和存储迁移:根据数据迁移前后的变化,又可以分为平移和转移. 平移是指迁移前后数据组织形式不变,比如Mysql从1个实例扩展为4个实例,Redis从4个端口扩展到16个端口,HBase从20台机器扩展到 30台机器等等.如果在最初的设计里就为以后的扩容缩容提供了方便,那么数据迁移工作就会简单很多,比如Mysql已经做了分库分表,扩展实例的时候,只需

怎么利用云服务进行网站数据迁移

对于站长群体来说,网站数据搬家一直是一件比较麻烦的事情,以致于耽误了网站的正常的运行.要打包数据下载到本地,又要数据库备份迁移,如果不懂技术,还得找人设置服务器或空间等等.站长虽然爱折腾,但也会感到有点烦. 在云概念火热的今天,动辄大数据神马的年达,难道不能用云进行网站数据迁移工作吗? 答案是肯定的.自云技术出现以来,基于云的计算解决方案的流行度就一直是有增无减.这类解决方案恰好满足了个人和企业需求,是个人和企业改进工作职能的最佳选择.经过一段时间的发展,云计算已成为必须的存在,现在它以多种多样

Office365 Groups and OD4B 不同tenant之间数据迁移_经验分享

目前国内很多企业都逐渐借助Microsoft 365的 解决方案为内部员工提供现代化办公环境,不限于可以提高企业分支机构之间的协作办公效率,满足跨平台移动办公需求,同时对企业来说也降低了IT基础架构投入和管理成本.但随着企业业务模型扩增,陆续有很多企业需要更高标准的Office 365 来满足其业务需求,那么就会衍生很多企业有Office 365 Tenant to Tenant的 数据转移的项目发生,但数据迁移并非是件容易的事情,需要考量点的地方比较多,同时利用对来源端的数据结构合理的分析并制

在线数据迁移(转)

1.前期知识储备 在线数据迁移,是指将正在提供线上服务的数据,从一个地方迁移到另一个地方,整个迁移过程中要求不停机,服务不受影响.根据数据所处层次,可以分为cache迁移和存储迁移:根据数据迁移前后的变化,又可以分为平移和转移. 平移是指迁移前后数据组织形式不变.比如Mysql从1个实例扩展为4个实例,Redis从4个端口扩展到16个端口,HBase从20台机器扩展到30台机器等等.如果在最初的设计里就为以后的扩容缩容提供了方便,那么数据迁移工作就会简单很多,比如Mysql已经做了分库分表,扩展

MongoDB 数据迁移和同步

MongoDB 数据迁移和同步 MongoDB的数据同步 复制 mongodb的复制至少需要两个实例.其中一个是主节点master,负责处理客户端请求,其余的都是slave,负责从master上复制数据. master写处理:master负责接收写请求,具体的流程为: 如果开启journal功能,则先将写请求记录到journal中,然后批量执行,同时将操作记录到oplog中: 如果未开启journal功能,则对每个写请求进行单独操作,然后写入oplog. 注:oplog是幂等的,当有累加操作in