Почему я не могу использовать тип данных MySQL 'year' в моем приложении Rails? - PullRequest
0 голосов
/ 08 января 2019

Согласно справочному руководству 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 голосов
/ 08 января 2019

Если вы используете DateTime, тогда t.datetime будет работать для вас.

Если вы сохраняете только год, он может храниться в целых числах, используйте t.integer, который будет просто хранить год. Возможно, у mysql есть тип данных year, но здесь у вашего объекта ruby ​​для адаптера подключения mysql нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...