Ändern Sie das vorhandene Modell mit einem Redmine -Plugin
-
19-09-2019 - |
Frage
Die Redmine Plugin -Tutorials erklären, wie Sie Kernmodelle einwickeln, aber ich brauche eine weitere Spalte in die Zeitschriftentabelle. Ich brauche ein Boolean -Feld, das in das Journals -Modell eingefügt wurde. Das Erstellen eines anderen Modells mit einer Beziehung von 'adocs_to: Journal' scheint ein Overkill zu sein. Kann dies mit einem Plugin erfolgen? Ich sollte beachten, dass ich ein Rails -Neuling bin.
Lösung
Sie müssen nur das angemessene erstellen Migration.
Erstellen Sie im Verzeichnis Ihres Plugins die Datei db/migrate/update_journal.rb
mit den folgenden :
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
Dann können Sie die Aufgabe ausführen rake db:migrate_plugins RAILS_ENV=production
So aktualisieren Sie Ihre Datenbank mit dem neuen Feld.
Nach der Ausführung der Migration hat Ihre Journal -Datenbank die my_bool
Feld, das Sie wie jedes andere Bereich anrufen können.
Andere Tipps
Ich konnte das vorhandene Benutzermodell mit dem folgenden Code erweitern:
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
Außerdem musste ich die Migrationsdatei so nennen, wie sie mit einer Nummer zB begann. myplugin/db/migrate/001_update_user.rb