🖥

#Rails migration singlar "timestamp" method without args do nothing. m

2019/12/29に公開

x timestamp
o timestamps

class CreateUser < ActiveRecord::Migration[5.2]
  def change
    create_table :users do |t|
      t.string :name, null: true

     # binding.pry
      t.timestamp
    end
  end
end
t.class
# => ActiveRecord::ConnectionAdapters::MySQL::TableDefinition
t.timestamp
=> []

pry doc

[4] pry(#<CreateUser>)> $ t.timestamp

From: /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/schema_definitions.rb @ line 231:
Owner: ActiveRecord::ConnectionAdapters::ColumnMethods
Visibility: public
Number of lines: 3

def #{column_type}(*args, **options)
  args.each { |name| column(name, :#{column_type}, options) }
end
[4] pry(#<CreateUser>)> $ t.timestamps

From: /usr/local/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/schema_definitions.rb @ line 395:
Owner: ActiveRecord::ConnectionAdapters::TableDefinition
Visibility: public
Number of lines: 6

def timestamps(**options)
  options[:null] = false if options[:null].nil?

  column(:created_at, :datetime, options)
  column(:updated_at, :datetime, options)
end

correct use case singular "timestamp"

t.timestamp :occured_at

ah please raise error Rails without args "timestamp"

Oh Mr Rails ...

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/2882

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-12-29

Discussion