Как ответил Андрей Лесюк, поместите ваш скрипт под #{PLUGIN_ROOT}/db/migrate
и протестируйте его, используя команду для установки / удаления вашего плагина.
Для установки плагина используйте команду:
rake redmine:plugins:migrate
и для его удаления:
rake redmine:plugins:migrate NAME=<your plugin name> VERSION=0
Обратитесь к официальной документации для получения более подробной информации.
Например, скрипт 001_populate_custom_fields.rb
может выглядеть примерно так:
class PopulateCustomFields < ActiveRecord::Migration
# method called when installing the plugin
def self.up
if CustomField.find_by_name('A New Custom Field').nil?
CustomField.create(name: 'A New Custom Field', field_format: 'text')
end
end
# method called when uninstalling the plugin
def self.down
CustomField.find_by_name('A New Custom Field').delete unless CustomField.find_by_name('A New Custom Field').nil?
end
end
Это создаст / удалит настраиваемое поле «Новое настраиваемое поле» типа «текст» после проверки его существования из таблицы базы данных redmine custom_fields.