雜談: 記一次深夜發版經歷

如果說上帝給你關上了一扇門,那他一定會給你打開另一扇窗。

現在時間是
在這裏插入圖片描述
作爲一個牛(菜)逼(鳥)的後臺開發工程概師,看時間從來都是datetime.now()。


嘿嘿,開個玩笑。
辛辛苦苦碼了一個月的代碼,今晚上終於要上線了。真香。
懷着期待和忐忑的心情迎來了十二點。。。ok。

  • 在生產庫中新增三張表,修改一個的默認值,新增三個字段。

新增表的操作還算順利,基本上沒啥出入,就是今天下午在寫建表sql的時候耗費了不少的腦細胞。主要是公司使用了一個sql代碼檢測平臺,必須要嚴格遵守其規定纔可以進行sql的提交,這樣子也好,最起碼讓自己知道了sql的嚴格規範。

然後順着思路往下走。
停服,改數據庫,推代碼。

問題來了!!!

在給一張表新增字段的時候,表中記錄了所有用戶的申請信息,五百多萬條數據,將近六十G,然後被卡住了。。。狗子的被卡住了,一個多小時都沒有好,心慌慌,只能等,大佬在考慮是否要kill掉他,我也是心慌慌,畢竟是我開發的從頭到尾都在負責的,不能走啊。然後就沒有然後了,還在解決。後續有解決辦法的話我會跟進起來。

希望接下來的步驟不要有其他問題啦!


今天睡起來就十二點了,中午吃了飯到公司。還是有個bug,不過老大哥已經幫忙解決了。

  • 起因:在新版本中增加了和老版本的類型區分,爲了配合java,又不想做太過於多餘的代碼,所以在老版本上做了兼容。我使用了 type 字段來區分新老版本,但是在開發的時候忽略了type在python中是關鍵字,在類中調用的時候self.type少了self,然後導致了很多件被卡。
  • 經過:還有一個是自己爲了適配客戶端的sql審覈,手動加了默認值和字段定義,導致了自己通過orm新增數據的時候因爲不能爲null插入失敗,造成可控範圍內的影響。
    期待接下來的全面上線吧!!!

昨晚上學到的技術總結

  1. sql
    alter 中,alter/change/modity,是有區別滴。
    alter修改默認值,不改字段定義,modity可以修改結構的定義。
ALTER TABLE
  credit_output
MODIFY
  COLUMN `error_msg` varchar(64) DEFAULT NULL COMMENT '錯誤信息',
MODIFY
  COLUMN `last_func` varchar(64) DEFAULT NULL COMMENT 'last func'
  1. 一定不要使用關鍵字
  2. 數據庫表結構和字段定義一定要謹慎
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章