为什么我不能在Rails应用程序中使用MySQL“ year”数据类型?

时间:2019-01-08 09:32:14

标签: ruby-on-rails-5

根据MySQL参考手册,数据类型为“年”。我想在我的Rails应用程序中使用它,但是当我运行rails db:migrate时,它失败并显示:

NoMethodError: undefined method `year' for #<ActiveRecord::ConnectionAdapters::MySQL::TableDefinition:0x000056047e3c6120>

Create_book迁移文件:

class CreateBooks < ActiveRecord::Migration[5.2]
  def change
    create_table :books do |t|
      t.string :name
      t.year :release
      t.references :genre, foreign_key: true
      t.references :author, foreign_key: true

      t.timestamps
    end
  end
end

1 个答案:

答案 0 :(得分:0)

如果您使用的是DateTime,那么t.datetime将为您服务。

如果仅存储年份,则可以整数形式存储,请使用t.integer,它只会存储年份。也许mysql的数据类型为year,但这里的mysql连接适配器的ruby对象却没有。