前(fei)言(hua)
为了接下去的教程,我们需要先准备数据库,通过新旧数据库的迁移,来演示如何使用 PDI 工具。让我们创建如下数据库结构:
旧数据库:
订单表:
CREATE TABLE `order` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`code` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单编码',
`order_status` tinyint(2) UNSIGNED NOT NULL DEFAULT 1 COMMENT '1待付款 2待发货 3待收货 4已收货 5已取消',
`name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`phone_number` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态 0删除 1正常 ',
`created_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间',
`updated_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ;
订单商品表:
CREATE TABLE `order_goods` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`orders_id` int(10) UNSIGNED NOT NULL DEFAULT 0,
`goods_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '商品名称',
`goods_num` smallint(5) UNSIGNED NOT NULL DEFAULT 1 COMMENT '购买数量',
`price` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '商品售价',
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态 0删除 1正常',
`created_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间',
`updated_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
);
新数据库:
客户表:
CREATE TABLE `client` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`phone_number` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态 0删除 1正常 ',
`created_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0,
`updated_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE
);
订单表:
CREATE TABLE `order` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`code` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单编码',
`order_status` tinyint(2) UNSIGNED NOT NULL DEFAULT 1 COMMENT '1待付款 2待发货 3待收货 4已收货 5已取消',
`client_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户id',
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态 0删除 1正常 ',
`created_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0,
`updated_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE
)
订单商品表:
CREATE TABLE `order_goods` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`orders_id` int(10) UNSIGNED NOT NULL DEFAULT 0,
`goods_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '商品名称',
`goods_num` smallint(5) UNSIGNED NOT NULL DEFAULT 1 COMMENT '购买数量',
`price` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '商品售价',
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态 0删除 1正常',
`created_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间',
`updated_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
)
订单商品表结构没变,唯一注意到是我们把订单表中的客户姓名和联系方式分离开来,然后和新的订单表进行关联。这是本课程的重点,也是这工具一个强大的地方。
数据库结构创建完后,可以自己填充一些测试数据,或者你也可以点击链接下载我准备好的 SQL文件。
在准备好数据库,并确保能运行后,就开始进入下一节使用我们的工具吧。