Eu tenho usado o Authlogic, mas agora preciso remover todos os traços dele. O que eu preciso fazer?

StackOverflow https://stackoverflow.com/questions/4050700

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?

Foi útil?

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).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top