Estoy ejecutando dos proyectos como un repositorio diferente con git. Uno es admitir que otro es Web en rieles, ambos están conectados entre sí. Básicamente se usa la misma base de datos. Solo hice la migración en el informe de administración y luego lo cloné en la web. El problema es que lo estoy implementando en el servidor y los casos de prueba fallaron, el error dice

ActionView::Template::Error: PG::UndefinedColumn: ERROR:  column fees.discount does not exist

Simplemente no entiendo por qué ha estado sucediendo, en administración tengo ese campo presente.

Creo que schema.rb puede jugar un papel en este caso. No estoy tan seguro de eso.

Aquí está mi migración

class AddDiscountToFeel < ActiveRecord::Migration[5.0]
   def change
     add_column :fees, :discount, :integer, default: nil, null: true
   end
 end

Y aquí están mis campos de modelo en desarrollo :

 2.3.1 :008 > Fee.column_names
 => ["id", "booth_id", "amount", "description", "created_at", "updated_at", "discount"] 

Y aquí están mis campos de modelo en prueba :

C238s-iMac:web c238$ RAILS_ENV=test rails c 
Loading test environment (Rails 5.0.0.1)
2.3.1 :001 > Fee.column_names
 => ["id", "booth_id", "amount", "description", "created_at", "updated_at", "discount"] 

Y aquí está el complemento de mi error:

enter image description here

Cualquier ayuda será apreciada.

1
Asmita 16 nov. 2017 a las 11:39

2 respuestas

La mejor respuesta

Si tenia razon

Ha pasado mucho tiempo en la web que no he actualizado el esquema del administrador, por eso me he enfrentado a este problema.

Solución: copiado schema.rb del administrador al repositorio web, porque ambos proyectos usan la misma base de datos.

Que la respuesta también sea útil para alguien.

1
Asmita 18 nov. 2017 a las 06:23

¿Puede intentar ejecutar para agregar discount a la tabla? paquete exec rake db: migrate

Si usa heroku: heroku ejecutar rake db: migrate

0
Tan 16 nov. 2017 a las 08:55