2009-11-11 47 views
4

Redmine插件教程解釋瞭如何封裝核心模型,但我需要的是將另一列添加到日誌表中。 我需要在日誌模型中插入一個布爾型字段。用'belongs_to:journal'關係創建另一個模型似乎是一種矯枉過正。 這可以用插件完成嗎? 我應該注意到,我是一名鐵桿新手。使用Redmine插件修改現有模型

回答

3

你只需要創建合適的migration

在你的插件目錄,創建文件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字段,您可以像每隔一個字段一樣調用該字段。

+0

這種方式似乎不再有效。你有其他方法嗎? – 2014-08-05 15:42:08

0

我可以使用下面的代碼,以擴展現有的用戶模型:

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