Rails Migration: снять ограничение - PullRequest
118 голосов
/ 16 апреля 2011

У меня есть таблица в приложении Rails, которая (в schema.rb) выглядит следующим образом:

create_table "users", :force => true do |t|
   t.string "name", :null=>false
   t.string "address", :null=>false
end

Я хотел бы написать миграцию рельсов, чтобы разрешить нулевые значения для поля адреса.т.е. после миграции таблица выглядит следующим образом:

create_table "users", :force => true do |t|
   t.string "name", :null=>false
   t.string "address"
end

Что мне нужно сделать, чтобы снять ограничение?

Ответы [ 2 ]

213 голосов
/ 31 января 2014

В Rails 4+, чтобы удалить ненулевое ограничение, вы можете использовать change_column_null:

change_column_null :users, :address, true
159 голосов
/ 16 апреля 2011

Не уверен, что вы можете позвонить t.address? Во всяком случае ... я бы использовал change_column, как так

change_column :users, :address, :string, :null => true

Docs ... http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/change_column

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