簡體   English   中英

為什么有created_at 和updated_at?

[英]Why have created_at and updated_at?

許多編程框架會自動將 2 個字段填充到模型/表/集合中。 在 Rails 中,兩個字段是created_atupdated_at 字段的功能是不言自明的。

created_at

首次在數據庫中創建記錄時的時間戳。

更新時間

表中存儲的任何數據的最近更改的時間戳。

我工作的一個流星計划不與這些領域來的開箱,所以加入createdAtupdatedAt在我的項目。

然后我開始思考:在什么情況下我們需要知道一個記錄是什么時候第一次創建的,最后一次更新還不夠嗎?

  • 能夠按最新/最舊對記錄進行排序
  • 能夠顯示有關對象的信息(如user asked 10 mins ago
  • 能夠分析數據(例如檢查在什么時間提出問題)
  • 當您想跟蹤/調試/審計我們系統中發生的事情時,它非常有用

.. 和更多。 當然,您的記錄現在可能不需要它,但保存這些信息總是更好的,因為如果您現在不保存它,以后將沒有簡單的方法來想出它。

我認為在很多情況下,您都想知道某些東西是何時創建的。

僅以stackoverflow為例:

知道何時提出問題很重要。 如果你兩年前問這個問題,然后昨天編輯它,這與你昨天問的非常不同。

知道什么時候回答了問題很重要。 想想一些徽章。 “好奇:在5個不同的日子里提出一個廣受歡迎的問題,並保持積極的問題記錄。”。 如果有人重新標記了我所有的問題,從而觸發了將updated_at設置為今天,該怎么辦。 然后,我從在不同的日子提出問題到他們似乎在同一天得到答復。

這只是兩個例子。 一般的答案是:每當您想知道某個對象何時首次出現在您的系統中時,您都需要created_at 特別是如果您隨后要更新該對象。

不是每張桌子都需要那些。 如果您沒有明確的用例,請不要添加它們。 您的數據庫和應用程序將通過計算、存儲和讀取它們而導致額外的性能損失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM