当前迁移:
t.string "email", :default => "", :null => false
add_index :users, :email, :unique => true我想创建一个新的迁移来删除:null => false要求,同时删除email的default => ""。另外,我想更改索引以删除:unique => true。语法是什么?
发布于 2011-09-29 02:26:15
我没有做太多关于索引的工作,而且在ActiveRecord::Migration上似乎没有change_index方法,但你可以尝试这样的方法:
class ChangeUserStuff < ActiveRecord::Migration
def self.up
change_column :users, :email, :default => "", :null => true
remove_index :users, :column => :email
add_index :users, :email
end
def self.down
change_column :users, :email, :default => "", :null => false
remove_index :users, :column => :email
add_index :users, :email, :unique => true
end
end关于更改:null选项有一些有趣的行为,但我相信将它们设置为true而不是省略应该可以解决这个问题。
https://stackoverflow.com/questions/7587632
复制相似问题