Изменить существующую модель с помощью плагина Redmine

StackOverflow https://stackoverflow.com/questions/1714540

  •  19-09-2019
  •  | 
  •  

Вопрос

Учебники плагина Redmine объясняют, как обернуть основные модели, но мне нужно добавить еще один столбец в таблицу журналов. Мне нужно логическое поле, вставленное в модель журналов. Создание другой модели с соотношением «принадлежности»: журнал «кажется излишним. Можно ли это сделать с помощью плагина? Я должен отметить, что я новичок в Rails.

Это было полезно?

Решение

Вам просто нужно создать соответствующее миграция.

В каталоге вашего плагина создайте файл db/migrate/update_journal.rb со следующим:

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

Тогда вы можете выполнить задачу rake db:migrate_plugins RAILS_ENV=production Чтобы обновить вашу базу данных с помощью нового поля.

После выполнения миграции в вашей базе данных журнала будет my_bool Поле, которое вы сможете позвонить, как все остальные поля.

Другие советы

Я смог расширить существующую пользовательскую модель, используя следующий код:

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

Также мне нужно было назвать файл миграции так, чтобы он начался с номера, например. myplugin/db/migrate/001_update_user.rb

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top