簡體   English   中英

created_at 和 updated_at 列從何而來?

[英]Where do the created_at and updated_at columns come from?

rails 應用程序創建的數據庫中的所有表似乎都有 created_at 和 updated_at 列。 是什么創造了這些? 它們是可選的,還是內部依賴於它們?

它們是在您為模型運行 ActiveRecord 遷移時默認創建的。 當您分別創建或更新模型實例(以及底層數據庫表行)時,ActiveRecord 會自動填充/更新它們。

您可以通過從模型遷移文件中刪除t.timestamps行來刪除列。

在每個表的數據庫遷移中,您都有類似t.timestamps 從您的遷移中刪除它,您的數據庫列 created_at 和 updated_at 將不會被創建。

編輯:

如果您需要創建新的遷移來刪除這些列,您可以使用remove_timestampsremove_column

remove_timestamps定義顯示了如何使用remove_column如果需要)。

def remove_timestamps(table_name, **options)
  remove_column table_name, :updated_at
  remove_column table_name, :created_at
end

補充八達通所說的,它們是可選的,用於跟蹤相應表中的記錄創建和更新日期時間。

暫無
暫無

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

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