rails precompiling portable instal failed asset ruby-on-rails postgresql heroku rails-migrations

ruby on rails - precompiling - heroku run rake db: migrate error



ruby heroku (2)

Parece que lo siguiente es cierto:

  • 20120525005302_create_users.rb intentará crear una tabla de users en su base de datos.
  • 20120611000411_devise_create_users.rb también intentará crear una tabla de users en la base de datos.
  • Su base de datos ya tiene una tabla de users en ella, por lo que la migración falla en la segunda migración.

Para que la tabla de users de su base de datos se corresponda correctamente con la migración 20120611000411_devise_create_users.rb , puede hacer una de estas dos cosas:

  1. Deshaga (o suelte) la base de datos y luego vuelva a ejecutar las migraciones. (Puede eliminar 20120525005302_create_users.rb si está vacío).
  2. Modifique su migración 20120611000411_devise_create_users.rb para eliminar cualquier tabla de users existente antes de hacer cualquier otra cosa.
  3. Modifique su migración 20120611000411_devise_create_users.rb siguiente manera:
    • En lugar de crear una tabla de users , modifique la tabla existente.
    • Agregar y modificar componentes de la base de datos para corresponder

Generalmente, si su aplicación se encuentra en un "estado infantil", la recreación de la base de datos tiende a ser una manera rápida de construir la estructura inicial de una aplicación. Sin embargo, si ya tiene datos importantes en su tabla de users , querrá conservarlos y proceder modificando la migración 20120611000411_devise_create_users.rb para cambiar la base de datos de forma no destructiva.

Referencias

Quiero ejecutar la migración en mi aplicación que tengo en heroku pero obtengo este error:

Running `rake db:migrate` attached to terminal... up, run.1 DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7) DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7) DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7) Migrating to CreateUsers (20120525005302) Migrating to DeviseCreateUsers (20120611000411) == DeviseCreateUsers: migrating ============================================== -- create_table(:users) rake aborted! An error has occurred, this and all later migrations canceled: PGError: ERROR: relation "users" already exists : CREATE TABLE "users" ("id" serial primary key, "email" character varying(255) DEFAULT '''' NOT NULL, "encrypted_password" character varying(255) DEFAULT '''' NOT NULL, "reset_password_token" character varying(255), "reset_password_sent_at" timestamp, "remember_created_at" timestamp, "sign_in_count" integer DEFAULT 0, "current_sign_in_at" timestamp, "last_sign_in_at" timestamp, "current_sign_in_ip" character varying(255), "last_sign_in_ip" character varying(255), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) Tasks: TOP => db:migrate

Tengo los siguientes archivos de migración en mi repositorio github

  1. 20120525005302_create_users.rb (que está vacío, no sé cómo eliminarlo)
  2. 20120611000411_devise_create_users.rb
  3. 20120613140535_create_authentications.rb

Parece que ya tienes usuarios de tabla (probablemente de la migración de create_users) que device_create_users está intentando recrear

Puede modificar su migración de create_device_users para agregar solo los campos que necesita

Alternativamente, si se trata de una nueva aplicación sin usuarios, simplemente puede soltar e intentar volver a ejecutar todas las migraciones.