博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
你离100%有多远
阅读量:5134 次
发布时间:2019-06-13

本文共 3048 字,大约阅读时间需要 10 分钟。

昨天修改个工具,关于数据库版本验证工具。

原先设计的版本验证是根据Test环境设计的,所以upgrade后的数据库和back DB的版本进行验证,而真正产品部署好后,back DB是upgrade之前备份的,所以取back DB就需要做一些添加更改。

 本来计划是根据今天的日期取最新的back DB, 根据 create date 排序。但当写好代码后,我敏感的发现问题了。假设是11:59 PM之前备份好数据库,过了12点就第二天了,如果用当前日期取back DB,那就取不到!代码已经写好了,怎么办????

//string backupDB = string.Format("PartitionMaster_Backup_{0}", "20121011");backupedPartitionMaster = GetBackupedPartitionMasterDatabase(backupDB);public string GetBackupedPartitionMasterDatabase(string database)        {            using (SqlConnection conn = new SqlConnection(MasterConnectionString))            {                conn.Open();                string name = null;                using (SqlCommand cmd = conn.CreateCommand())                {                    cmd.CommandText = string.Format(CheckDatabaseFullName, database);                    using (SqlDataReader reader = cmd.ExecuteReader())                    {                        while (reader.Read())                        {                            name = reader["name"].ToString();                            Logger.Info(string.Format("Database: {0} exists", name));                        }                    }                }                return name;            }        }
View Code

如果有2个选择,一个简单一个复杂并且自己不懂,那么本能是选择简单的方案!!!(SQL 中的时间处理我感觉不太会用,感觉比较麻烦,而且要花时间去查查资料)

纠结了一会,想想,这个无所谓,12点前backup DB, 应该不会碰到吧,反正这个也是测试代码,不是真正的产品代码。没事!

但脑海中一个例子影响了我,现在做到的是80%,而最后的努力,可能离100%更近,我为什么不再多花点时间把这20%给添加上呢?能做到更近100%,为什么只做80%呢?最终我的正面能量战胜了负面能量!改改改。改好后,一份完美的代码做了code review.

private const string CheckDatabaseFullName = "Select name from sys.databases where create_date>@datetime and name like N'PartitionMaster_Backup%' order by create_date";backupedPartitionMaster = GetBackupedPartitionMasterDatabase();public string GetBackupedPartitionMasterDatabase()        {            using (SqlConnection conn = new SqlConnection(MasterConnectionString))            {                                DateTime dt = DateTime.Now.AddHours(-12).ToUniversalTime();                                conn.Open();                string name = null;                using (SqlCommand cmd = conn.CreateCommand())                {                    //cmd.CommandText = string.Format(CheckDatabaseFullName, database);                    cmd.CommandText = CheckDatabaseFullName;                    cmd.Parameters.Add("@datetime", SqlDbType.DateTime);                    cmd.Parameters[0].Value = dt;                    using (SqlDataReader reader = cmd.ExecuteReader())                    {                        while (reader.Read())                        {                            name = reader["name"].ToString();                            Logger.Info(string.Format("Database: {0} exists", name));                        }                    }                }                return name;            }        }
View Code

记得以前公司一位牛人说过,多花时间把事情做到最好,当时没在意。现在才有真正的体会。2点感想

  1. 如果一件事可以做到 80% ~ 100%,为什么不多花点时间做到更好呢?
  2. 其实生活中的我们不都一样吗?不愿意接受新的事物,自己不熟悉,会有恐惧感!而真正让我们成长的确是这些新生事物,如果不去尝试,永远止步在那里!

转载于:https://www.cnblogs.com/binyao/archive/2013/05/21/3090445.html

你可能感兴趣的文章
.NET 母版页 讲解
查看>>
Android Bitmap 和 Canvas详解
查看>>
最大权闭合子图
查看>>
oracle 创建暂时表
查看>>
201421410014蒋佳奇
查看>>
导入导出数据库和导入导出数据库表
查看>>
linux下操作mysql
查看>>
【03月04日】A股滚动市盈率PE历史新低排名
查看>>
Xcode5和ObjC新特性
查看>>
jvm slot复用
查看>>
高并发系统数据库设计
查看>>
LibSVM for Python 使用
查看>>
入坑的开始~O(∩_∩)O~
查看>>
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
查看>>
Windows 7 上安装Visual Studio 2015 失败解决方案
查看>>
iOS按钮长按
查看>>
Shell流程控制
查看>>
CSS属性值currentColor
查看>>
[Leetcode|SQL] Combine Two Tables
查看>>
《DSP using MATLAB》Problem 7.37
查看>>