Я использую Authlogic, но теперь нужно удалить все следы этого.Что мне нужно сделать? - PullRequest
3 голосов
/ 29 октября 2010

Так что я собираюсь переключиться с Authlogic на Devise. Поскольку у меня есть только несколько тестовых учетных записей, я подумал, что было бы лучше просто удалить все данные Authlogic и мою таблицу пользователей, а затем настроить Devise. Я использую Rails 3. Помимо удаления authlogic из моего gemfile, удаления моделей и таблиц user и user_session, нужно ли мне что-то еще делать?

Ответы [ 2 ]

2 голосов
/ 29 октября 2010

Yo,

при использовании devise со всеми модулями ваша таблица 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

Вы можете изменить шифратор в инициализаторе devise:

config.encryptor = :authlogic_sha512

Это должно быть все:).

1 голос
/ 24 февраля 2011

Да, и я сделал это, и обратите внимание, что вам НЕ нужно удалять / удалять таблицу пользователей (что вы вряд ли будете делать в производственной среде!), Просто используйте миграцию (и), чтобы добавить выше поля. при необходимости измените шифратор, и он должен быть достаточно плавным. Убедитесь, что поля password_salt и encrypted_password названы правильно, или используйте миграцию, чтобы переименовать их (или, возможно, можете сопоставить их где-нибудь, но я не нашел их).

...