Where do the created_at and updated_at columns come from?

前端 未结 3 445
失恋的感觉
失恋的感觉 2021-01-04 01:59

All the tables in the database created by a rails application seem to have created_at and updated_at columns. What creates these? Are they optional, or does something inte

相关标签:
3条回答
  • 2021-01-04 02:22

    They are created by default when you run the ActiveRecord migration for a model. ActiveRecord automatically populates/updates them when you create or update a model instance (and thus the underlying database table row) respectively.

    You can remove the columns by removing the t.timestamps line from within the model migration file.

    • Ruby on Rails Guides: Migrations
    0 讨论(0)
  • 2021-01-04 02:30

    In your database migration for every table you have something like t.timestamps. Remove this from your migration and your database columns created_at and updated_at won't be created.

    Edit:

    In case you need to create a new migration to remove those columns you can use remove_timestamps or remove_column

    remove_timestamps definition shows how you can use remove_column if you want to.

    def remove_timestamps(table_name, **options)
      remove_column table_name, :updated_at
      remove_column table_name, :created_at
    end
    
    0 讨论(0)
  • 2021-01-04 02:36

    Adding to what Octopus said, they are optional and are used to track the record creation and updating date time in the corresponding tables.

    0 讨论(0)
提交回复
热议问题