设计数据库思路及遇到的问题

2019-03-29  本文已影响0人  青禾tester

暂时还不太系统,持续学习中

//跟同事沟通学习

拆出共有属性单独设计一个表;

单个业务独立一个表;

出现问题及解决:

1、插入数据为字典、列表时,外面包一层引号

INSERT INTO plan_record

    (plan_name,env_type,case_list,plan_status,plan_author,created_at,updated_at)

    VALUES

    ("新板块市场计划",3,'["1","23"]',1,"一个小朋友",now(),now());

2、设计属性名时,避免使用mysql关键字

如 name 、 status

3、设计时考虑层级概念

如当前表内数据,记录间可能存在多个层级,则需要有parent_level_id

CREATE TABLE `suite_record` (

  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',

  `suite_name` varchar(100) NOT NULL DEFAULT '' COMMENT '标题',

  `parent_level_id` int(11) NOT NULL DEFAULT '0' COMMENT '上一级,0无上一级',

  `env_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '环境类型,1-测试,2-预上线,3-线上',

  `level` tinyint(4) NOT NULL DEFAULT '0' COMMENT '层级,1-一级,2-二级,3-三级',

  `suite_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '删除状态,1-未删除,2-已删除',

  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',

  PRIMARY KEY (`id`),

  KEY `idx_env_type` (`env_type`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='套件记录表';

上一篇 下一篇

猜你喜欢

热点阅读