2018-12-19 记一次可爱的开发

今天早上在开发的时候,从表中查出一个字段的值是 0 ,1这个样子的格式。上家公司俗称的快码,但是快码表并没有和任何表关联。当时为了图快,不想写代码,就在sql里面加了 left join  表名 on  表1.value(非主键) = 快码表.value(非主键) and  快码表.id(主键) = ‘UUID’;

然后被小李大神一下子就看出来了这肯定有问题啊。我仔细想想确实问题很大啊(有大神帮code review真的很棒,上一家公司没有人帮你看看代码,几个刚毕业的学生,大四的实习生xjb乱搞一通)

具体有那些问题呢

1.一次完整的开发是分数据库的,我在的两家公司都分为 

1. dev数据库,开发者数据库。

2.uat数据库,客户(用户)体验数据库。

3.product数据库,生产数据库,用户使用的数据库。

很明显,我使用的这个dev的快码表的主键在uat和prod中都是不一定存在的(有很大概率不存在),即是存在也不一定是想要的

这种代码写上去,dev测死也没问题,以上生产就是错。套路真的深。

那么问题来了,怎样避免这类问题发生呢。

step1.我们要分清不同数据库之间数据的差异,那些部分是系统,用户生成的,那些是手动定义的。

step2.对于手动定义的,那么不同的环境我们是否都定义了。如果没有定义系统出错的概率很大,并且抛去出错概率问题,这样开发本身就是不规范的

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,016评论 2 89
  • 继续昨天的讨论,我们说服了客户,提高了效率,就是完事了吗?我们最终的目的是什么?你要时刻记住,做为人,跟机器人的区...
    早知今日阅读 120评论 0 1
  • 关于旅游这件事,每个旅游者都有一个痛彻心扉的领悟——花钱买罪受。但每个人又都花得那么心甘情愿,受得那么理所应当...
    真水无香敏儿阅读 375评论 0 0
  • 记录反思 出差前的疯狂,事情多得有点焦虑。这个时候,时间的计划就非常有必要,推进了向家坝合同、水布垭业主接待和立项...
    冬梅姐自我管理阅读 88评论 0 0
  • 铜师两载, 正值豆蔻华年, 时显“弱龄早慧”, 却知结好金兰。 教书东西, 育人南北, 半辈挂念。 桃李芬芳时, ...
    李月芳阅读 521评论 2 17