Ruby on rails Rake迁移:如何为所有用户在迁移中输入auth_令牌
我最近向我的用户添加了一个名为Ruby on rails Rake迁移:如何为所有用户在迁移中输入auth_令牌,ruby-on-rails,migration,Ruby On Rails,Migration,我最近向我的用户添加了一个名为auth_token的新列,该列应该在创建新用户时生成 如何通过迁移将身份验证令牌添加到现有用户? 资料来源: 另外,我在中找不到这个,所以请不要将我发送到那里。class DoThisThing>
auth_token
的新列,该列应该在创建新用户时生成
如何通过迁移将身份验证令牌添加到现有用户?资料来源:
另外,我在中找不到这个,所以请不要将我发送到那里。
class DoThisThingclass DoThisThing < ActiveRecord:: Migration
def self.up
@users = Users.all
@users.each do |user|
user.auth_token = generate_token
user.save
end
end
def self.down
puts "non recoverable migration"
end
def generate_token
123456789
end
end
自我介绍
@users=users.all
@用户。每个do |用户|
user.auth\u token=生成\u token
user.save
结束
结束
def自动关闭
放置“不可恢复的迁移”
结束
def生成令牌
123456789
结束
结束
您可以将任何喜欢的标准Ruby/Rails代码放入迁移中。只需注意stdin/out,以及您需要的任何特定lib是否已加载到迁移的内存空间。您是否正在尝试向现有用户添加
auth_token
?我认为您应该使用db/seeds.rb
而不是添加新的迁移类。当您需要更改数据库结构而不是其内容时,您希望使用迁移。您可以更改登录名并在中创建,以便为每个用户获取唯一的内容,但类似的操作也可以。您可以解释一下您的方法吗?了解各种方法总是很好的。上面提到的迁移不起作用。我在“向上”部分遇到了错误:(你能发布错误吗?我在迁移中经常使用这样的代码。如果执行rake db:migrate--traceCan not:/I已经重置了数据库以重新输入用户>>