Eu tenho usado o Authlogic, mas agora preciso remover todos os traços dele. O que eu preciso fazer?
-
27-09-2019 - |
Pergunta
Então, vou mudar de authlogic para inventar. Como eu só tenho algumas contas de teste, pensei que seria melhor simplesmente remover todas as coisas authlogic e a tabela de usuários e configurar o Devise. Estou usando o Rails 3. Além de remover o Authlogic do meu GemFile, remover os modelos/tabelas do usuário e User_Session, há mais alguma coisa que eu precise fazer?
Solução
Yo,
Ao usar o Devise com todos os módulos, sua tabela de usuários deve ficar assim:
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 |
Você terá que escrever uma migração para adicionar/renomear as colunas.
O melhor é que você pode alterar o crirytor padrão para o usado pela Authlogic para que você possa migrar suavemente todos os seus usuários existentes ...
Ver :http://github.com/plataformatec/devise/blob/master/lib/devise/encryptores/authlogic_sha512.rb
Você pode alterar o criptografia no Inicializer Devise:
config.encryptor = :authlogic_sha512
Isso deve ser tudo :).
Outras dicas
Sim e eu fiz isso e observe que você não precisa soltar / remover a tabela de usuários (algo que você provavelmente não fará na produção, obviamente!), Apenas use uma migração para adicionar os campos acima. Altere o criptografia conforme necessário e ele deve ser bastante suave. Verifique se os campos Password_Salt e Encrypted_Password são nomeados corretamente ou use uma migração para renomeá -los (ou possivelmente pode mapeá -los em algum lugar, mas eu não o encontrei).