Este es el error que consigo cuando estoy la primera instalación Diseñar y ejecutar rake db:migrate
:Diseñar rake db: migrate falla debido a la columna duplicado en la mesa de mi usuario - Rails 3.1
== AddDeviseToUsers: migrating ===============================================
-- change_table(:users)
rake aborted!
An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: duplicate column name: email: ALTER TABLE "users" ADD "email" varchar(255) DEFAULT '' NOT NULL
Teniendo en cuenta que esto es sólo los datos de prueba , Podría simplemente eliminar esa columna en mi archivo db y volver a ejecutarla, pero eso no parece muy Railsy, aunque solo sea por el hecho de que hará que mi servidor de ensayo (el único otro servidor con mi aplicación) esté fuera de servicio. sincronizar con mi localhost
.
Además, ¿qué pasa si hay un conflicto con otra columna.
Dado que este es el esquema de mi tabla User
antes de ejecutar la migración, ¿cómo debo manejar esto? ¿Con una migración de algún tipo que cambia de nombre?
# == Schema Information
#
# Table name: users
#
# id :integer not null, primary key
# email :string(255)
# f_name :string(255)
# l_name :string(255)
# username :string(255)
# role_id :integer
# picture :string(255)
# about_me :string(255)
# website :string(255)
# created_at :datetime
# updated_at :datetime
#
No, lo que sucedió fue que tuve mi modelo 'User' con ese esquema allí antes de ejecutar' db: migrate'. Incluso tuve algunos usuarios almacenados en la tabla con la información existente. Sin embargo, ahora que intento instalar Devise en un modelo de Usuario existente, aparece este error. Entonces sí, sé que existe una columna ': email'. Solo quiero que lo ignore o lo modifique de la manera que necesita ser modificado. – marcamillion
puede omitirlo pero al comentar nuestra línea en su migración. Luego, después de eso, ejecuta rake db: migrate nuevamente. – Benjamin
Sí, el mismo problema aquí y todo lo que hice fue comentar la línea donde se creó la tabla de correo electrónico en la migración de diseño, por ejemplo # t.string: email,: null => falso,: predeterminado => " – mattwallace