在我的Rails 4应用程序中,我想在我的用户模型中添加一个“用户名”字段。由于我已在数据库中拥有用户,因此我想将他们的电子邮件(目前是该模型的一部分)用作我迁移中的默认用户名。这是我到目前为止所做的:
class AddUsernameColumnToUsers < ActiveRecord::Migration
def change
add_column :users, :username, :string, null: false
add_index :users, :username, unique: true
end
end
所以,我想做类似的事情:
add_column :users, :username, :string, null: false, default: this.email
但该代码无效。有什么想法吗?提前谢谢。
答案 0 :(得分:2)
你可以像这样解决它
class AddUsernameColumnToUsers < ActiveRecord::Migration def up add_column :users, :username, :string, null: false add_index :users, :username, unique: true query = 'UPDATE users SET username = email' ActiveRecord::Base.connection.execute(query) end def down remove_column :users, :username end end