oms迁移数据遇到的问题

【 使用环境 】测试环境
【 OB or 其他组件 】OMS
【 使用版本 】版本号: 4.2.0_CE
【问题描述】
问题一:
在数据迁移选择数据的时候这个地方是没有全选的么?还是我这边没有找到


问题二:
在检查的时候遇到如下下,想问一下这个要解决的话需要怎么做呢?
所依赖的其他表,不在待迁移对象列表中。依赖关系为:table(cornupaykj.t_commodity_apply) depends on table(cornupaykj.t_supervision_place),table(cornupaykj.t_commodity_apply) depends on table(cornupaykj.t_port),table(cornupaykj.t_order_detail) depends on table(cornupaykj.t_order_report),table(cornupayds.t_commodity_apply) depends on table(cornupayds.t_commodity_record),table(cornupayds.t_commodity_apply) depends on table(cornupayds.t_supervision_place),table(cornupayds.t_mer_shop) depends on table(cornupayds.t_mer_records),table(cornupayds.t_commodity_apply) depends on table(cornupayds.t_port),table(cornupayzw.t_commodity_apply) depends on table(cornupayzw.t_port),table(cornupayzw.t_commodity_apply) depends on table(cornupayzw.t_commodity_record),table(cornupayzw.t_commodity_apply) depends on table(cornupayzw.t_supervision_place)。

问题三
– [WARNING] The column collation: “utf8mb4_unicode_ci” is unsupported in OBMYSQL_CE_4.2(4.2.1.1). Object: t_order_refund_apply

create table t_order_refund_apply (

refund_apply_id varchar(64) collate utf8_general_ci not null,

refund_amount decimal(10,2) comment ‘退款金额’,

refund_remark varchar(300) collate utf8_general_ci comment ‘退款原因’,

refund_operator varchar(32) collate utf8_general_ci comment ‘审核员工’,

refund_state char(1) collate utf8_general_ci comment ‘审核状态(1退款成功 3待处理 4拒绝退款)’,

refund_type char(1) collate utf8_general_ci comment ‘退款类型(1.全退。2.半退)’,

refund_choice char(1) comment ‘退款选择 :1仅退款,2退款退货’,

refund_applytime datetime comment ‘申请时间’,

refund_orderno varchar(32) collate utf8_general_ci comment ‘退款订单号’,

refund_orderseqno varchar(32) collate utf8_unicode_ci comment ‘订单序号’,

refund_count decimal(8,0) comment ‘退款商品数量’,

refund_refusal varchar(200) collate utf8_general_ci comment ‘拒绝理由’,

refund_voucher varchar(500) collate utf8_general_ci comment ‘退款凭证’,

refund_Logistics_waybill varchar(50) collate utf8_general_ci comment ‘物流运单号’,

refund_way char(1) collate utf8_general_ci comment ‘退款方式(1、人工,2系统自动)’,

PRIMARY KEY (refund_apply_id)

)

default charset=utf8

default collate=utf8_bin;


想问一下这个字符集的问题是不支持utf8mb4_unicode_ci这个么?如果要支持我需要怎么操作呢?
问题四:这个oms有问题的报告是否能下载呢?
问题五:


我修改了这个字符集在验证的时候还是出现了这个问题麻烦看一下

1 个赞

问题一:
没有全选所有schema选项,你可以使用配置规则,如:
schema1.*
schema2.*

问题二:
这需要将依赖的表也选上迁移,否则到了迁移阶段也会报异常

问题三、五:
utf8mb4_unicode_ci 这个是说目标ob不支持,修改也没有用的,数据库不支持这个字符集

问题四:问题能描述清楚一点吗?是哪个报告需要下载

2 个赞

问题四:
报告是如下这块有问题的报告


问题五我可能没有描述清楚,我的意思是我把不支持的utf8mb4_unicode_ci改成了utf8_general_ci 也不行,如下的截图
(conn=2097747) Cannot add foreign key constraint Query: – [WARN] [CONVERT] The table charset: utf8 → utf8mb4

– [WARN] [CONVERT] The table collation: utf8_general_ci → utf8mb4_general_ci

create table t_report_items (

COMMODITY_ID varchar(32) not null,

ITEM_ID varchar(32) not null,

ITEM_HSCODE varchar(10),

ITEM_LANG varchar(100) not null,

ITEM_VALUE varchar(256),

primary key (COMMODITY_ID, ITEM_ID, ITEM_LANG),

constraint t_report_items_ibfk_1 foreign key (ITEM_LANG) references t_language (LANG_CODE) ON DELETE RESTRICT ON UPDATE RESTRICT,

constraint t_report_items_ibfk_2 foreign key (ITEM_ID) references t_report_itemname_locale (ITEM_ID) ON DELETE RESTRICT ON UPDATE RESTRICT

)

default charset=utf8

default collate=utf8_general_ci Parameters: []


老师在麻烦看一下这个

1 个赞

问题四:这个显示无法下载

问题五:截图中的错误应该是添加外键这块有问题,编码转换只是warn,你看一下外键依赖的表是否已经建立了

1 个赞

这个情况一般是资源不够造成的,在“运维监控”-“机器” 这里看一下资源情况,低于80%新建链路就会无法建立

老师这个问题是为什么呢?上面的问题确实是内存少了我又增加了一点内存

1 个赞

这个问题已解决,这个在Ob中的租户内存不够增加了一下租户的内存

1 个赞


老师,麻烦帮忙看看这个问题

1 个赞

这是说目标表不存在,你迁移的时候把结构迁移勾选上,目标表就会自动建立,上面的索引也会建过去

这是说目标表不存在,你迁移的时候把结构迁移勾选上,目标表就会自动建立,上面的索引也会建过去

老师迁移视图的时候提示这个错
(conn=1577584) Table ‘cornupaykj.t_commodity_apply’ doesn’t exist Query: CREATE OR REPLACE VIEW v_commodity_status AS select a.COMMODITY_ID AS commodity_id,(case when ((a.COMMODITY_STATUS = ‘1’) and (a.COMMODITY_APPLYTYPE in (1,2,3,5))) then ifnull(group_concat(concat(c.CHANNEL_NAME,’->’,ifnull(b.COMMODITY_SELLNUM,‘0’)) separator ‘,’),‘未推荐’) when (a.COMMODITY_APPLYTYPE = 4) then ‘已下架’ else ‘无法推荐’ end) AS channel,(case when ((a.COMMODITY_STATUS = ‘1’) and (a.COMMODITY_APPLYTYPE in (1,2,3,5))) then 0 when (a.COMMODITY_APPLYTYPE = 4) then 1 else 2 end) AS chType from ((cornupaykj.t_commodity_apply a left join cornupaykj.t_channel_commodity b on(((b.COMMODITY_ID = a.COMMODITY_ID) and (b.IF_OPEN = ‘1’)))) left join cornupaykj.t_channel c on((c.CHANNEL_ID = b.CHANNEL_ID))) group by a.COMMODITY_ID Parameters: []
麻烦帮忙看看


老师这个错也是目标表不存在么?

是的


老师这个是为什么呢?

image
我看了一下我的源表我的这里是有外键的,这个外键我怎么处理呢?

这个是创建视图时缺少目标表cornupaykj.t_commodity_apply,迁移的时候没勾选这个表吧。

不太清楚你说的这个外键有什么影响,如果需要迁移这个表,建议是把外键表也勾选上。如果非强依赖是可以再目标端设置下关闭外键检查 foreign_key_checks,迁移完成再还原即可。

我记得我都选择了,稍等我删除重新创建一下,麻烦老师稍等在帮忙看看





如下打箭头的这两个步骤我给移除了,我想的后面解决来着,

–麻烦问一下这个
选中表所依赖的其他表,不在待迁移对象列表中。依赖关系为:table(cornupaykj.t_commodity_apply) depends on table(cornupaykj.t_supervision_place),table(cornupaykj.t_commodity_apply) depends on table(cornupaykj.t_port),table(cornupaykj.t_order_detail) depends on table(cornupaykj.t_order_report),table(cornupayds.t_commodity_apply) depends on table(cornupayds.t_commodity_record),table(cornupayds.t_commodity_apply) depends on table(cornupayds.t_supervision_place),table(cornupayds.t_mer_shop) depends on table(cornupayds.t_mer_records),table(cornupayds.t_commodity_apply) depends on table(cornupayds.t_port),table(cornupayzw.t_commodity_apply) depends on table(cornupayzw.t_port),table(cornupayzw.t_commodity_apply) depends on table(cornupayzw.t_commodity_record),table(cornupayzw.t_commodity_apply) depends on table(cornupayzw.t_supervision_place)。
这个问题我要怎么解决呢?这些好像就是有外键的这些表