Alterar el modelo existente con un plugin Redmine
-
19-09-2019 - |
Pregunta
El Redmine Plugin tutoriales explican cómo envolver los modelos principales, pero lo que necesito es añadir otra columna a la tabla revistas. Necesito un campo booleano insertada en el modelo de revistas. La creación de otro modelo con un 'belongs_to: revista' relación parece una exageración. ¿Es posible hacerlo con un plugin? Debo señalar que yo soy muy novato rieles.
Solución
Sólo tienes que crear el migración .
En el directorio de su complemento, crear el archivo db/migrate/update_journal.rb
con lo siguiente:
class UpdateJournal < ActiveRecord::Migration
def self.up
change_table :journal do |t|
t.column :my_bool, :boolean
end
end
def self.down
change_table :journal do |t|
t.remove :my_bool
end
end
end
A continuación, puede ejecutar la tarea rake db:migrate_plugins RAILS_ENV=production
para actualizar su base de datos con el nuevo campo.
Después de ejecutar la migración, la base de datos de diario tendrá el campo my_bool
que usted será capaz de llamar al igual que todos los demás campos.
Otros consejos
I fue capaz de extender el modelo de usuario existente mediante el código siguiente:
class UpdateUsers < ActiveRecord::Migration
def up
add_column :users, :your_new_column, :string, :default => ''
add_column :users, :your_other_new_column, :string, :default => ''
end
def down
remove_column :users, :your_new_column
remove_column :users, :your_other_new_column
end
end
También necesitaba para nombrar el archivo de migración en la forma en que se inició con un número, por ejemplo. miplugin / db / migrate / 001_update_user.rb