4

Redmine 插件教程解释了如何包装核心模型,但我需要在 journals 表中添加另一列。我需要在期刊模型中插入一个布尔字段。创建另一个具有 'belongs_to :journal' 关系的模型似乎有点矫枉过正。这可以用插件完成吗?我应该注意,我是一个 Rails 新手。

4

2 回答 2

3

您只需创建适当的迁移

在插件的目录中,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您可以像其他所有字段一样调用的字段。

于 2009-11-11T15:16:14.787 回答
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

于 2014-11-12T14:23:13.937 回答