在初始 create_table rake 之后如何添加要设计的列?
我安装了 Devise,进行了 rake,然后意识到我想添加 :confirmable。
我可以返回到相同的初始迁移并取消注释掉我想要的帮助程序,然后再次 rake db:migrate 吗?
我尝试了一下,似乎不起作用。但我还没有看到如何创建后续迁移的示例。
谢谢!
这是我尝试过的:
1 class AddConfirmableToUsers < ActiveRecord::Migration
2 def self.up
3 change_table :users do |t|
4 t.confirmable
5 end
6 add_index :users, :confirmation_token, :unique => true
7 end
8
9 def self.down
10 remove_column :users, :confirmation_token
11 end
12
13 end
I installed Devise, raked, and then realized afterwards, that I want to add :confirmable.
Can I go back to the same initial migration and just uncomment out the helper that I want and then rake db:migrate again?
I tried it and it didn't seem to work. But I haven't seen an example of how to create a follow-on migration.
Thanks!
This is what I tried:
1 class AddConfirmableToUsers < ActiveRecord::Migration
2 def self.up
3 change_table :users do |t|
4 t.confirmable
5 end
6 add_index :users, :confirmation_token, :unique => true
7 end
8
9 def self.down
10 remove_column :users, :confirmation_token
11 end
12
13 end
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以自己添加适当的列,如下所示:
You can add the proper columns yourself like so:
您的迁移应该有效。您是否检查了您的
User
模型以确保启用了:confirmable
?默认情况下它已被注释掉。如果您不介意丢失数据,您可以这样做
,否则您可以只编辑初始迁移并进行回滚。
做出你的改变
Your migration should work. Did you check your
User
model to make sure:confirmable
is enabled? It's commented out by default.If you don't mind losing your data you can just do
Otherwise you can just edit the initial migration and do a rollback.
Make your changes