【问题标题】:Where do the created_at and updated_at columns come from?created_at 和 updated_at 列从何而来?
【发布时间】:2011-06-11 00:03:31
【问题描述】:

Rails 应用程序创建的数据库中的所有表似乎都有 created_at 和 updated_at 列。是什么创造了这些?它们是可选的,还是内部依赖它们?

【问题讨论】:

    标签: ruby-on-rails database activerecord


    【解决方案1】:

    在每个表的数据库迁移中,您都有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
    

    【讨论】:

      【解决方案2】:

      除了八达通所说,它们是可选的,用于跟踪相应表中的记录创建和更新日期时间。

      【讨论】:

        【解决方案3】:

        它们是在您为模型运行 ActiveRecord 迁移时默认创建的。当您分别创建或更新模型实例(以及基础数据库表行)时,ActiveRecord 会自动填充/更新它们。

        您可以通过从模型迁移文件中删除 t.timestamps 行来删除列。

        【讨论】:

        • 我们有什么办法可以将其重命名为 created_ts 可能吗?
        猜你喜欢
        • 1970-01-01
        • 2017-05-26
        • 1970-01-01
        • 2018-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-26
        • 2010-10-05
        相关资源
        最近更新 更多