Alter modello esistente con un plugin Redmine
-
19-09-2019 - |
Domanda
Il Redmine plug-tutorial spiega come avvolgere modelli di base, ma che cosa ho bisogno è di aggiungere un'altra colonna alla tabella riviste. Ho bisogno di un campo booleano inserito nel modello di riviste. Creazione di un altro modello con un 'belongs_to: rivista' relazione sembra un eccessivo. Questo può essere fatto con un plugin? Vorrei sottolineare che io sono un principiante rotaie.
Soluzione
Non vi resta che creare il migrazione .
Nella directory del vostro plugin, creare il db/migrate/update_journal.rb
file con il seguente:
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
Quindi è possibile eseguire l'rake db:migrate_plugins RAILS_ENV=production
compito di aggiornare il database con il nuovo campo.
Dopo aver eseguito la migrazione, il vostro database di giornale avrà il campo my_bool
che sarete in grado di chiamare come ogni altro campo.
Altri suggerimenti
Sono stato in grado di estendere il modello utente esistente utilizzando il seguente codice:
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
Inoltre avevo bisogno di un nome al file di migrazione in modo che esso ha avuto inizio con un numero ad es. myplugin / db / migrate / 001_update_user.rb