所以我要从Authlogic切换到Devise。由于我只有几个测试帐户,我认为最好只删除所有Authlogic内容和我的用户表,然后设置Devise。我正在使用Rails 3.除了从我的gemfile中删除authlogic,删除user和user_session模型/表之外,还有什么我需要做的吗?
答案 0 :(得分:2)
哟,
当对所有模块使用设计时,User表应如下所示:
id | integer | not null default nextval('contributors_id_seq'::regclass)
email | character varying(255) | not null default ''::character varying
encrypted_password | character varying(128) | not null default ''::character varying
password_salt | character varying(255) | not null default ''::character varying
confirmation_token | character varying(255) |
confirmed_at | timestamp without time zone |
confirmation_sent_at | timestamp without time zone |
reset_password_token | character varying(255) |
remember_token | character varying(255) |
remember_created_at | timestamp without time zone |
sign_in_count | integer | default 0
current_sign_in_at | timestamp without time zone |
last_sign_in_at | timestamp without time zone |
current_sign_in_ip | character varying(255) |
last_sign_in_ip | character varying(255) |
failed_attempts | integer | default 0
unlock_token | character varying(255) |
locked_at | timestamp without time zone |
created_at | timestamp without time zone |
updated_at | timestamp without time zone |
您必须编写迁移来添加/重命名列。
最棒的是,您可以将默认加密器更改为Authlogic使用的加密器,这样您就可以顺利地迁移所有现有用户......
见: http://github.com/plataformatec/devise/blob/master/lib/devise/encryptors/authlogic_sha512.rb
您可以在设计初始化程序中更改加密器:
config.encryptor = :authlogic_sha512
应该全部:)。
答案 1 :(得分:1)
是的,而且我已经完成了这一点,请注意您不需要删除/删除用户表(显然在生产中您不太可能做的事情!),只需使用迁移添加以上内容领域。根据需要更改加密器,它应该相当平滑。确保正确命名password_salt和encrypted_password字段,或使用迁移重命名它们(或者可能将它们映射到某处,但我没有找到它)。