使用Redmine插件改变现有模型

发布于 2024-08-11 00:29:29 字数 142 浏览 2 评论 0原文

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

The Redmine plugin tutorials explain how to wrap core models but what I need is to add another column to the journals table.
I need a boolean field inserted in the journals model. Creating another model with a 'belongs_to :journal' relation seems like an overkill.
Can this be done with a plugin?
I should note that I am a rails newbie.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦过后 2024-08-18 00:29:29

您只需创建适当的迁移

在插件目录中,使用以下内容创建文件 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=product 来更新数据库与新领域。

执行迁移后,您的日志数据库将具有 my_bool 字段,您可以像调用其他字段一样调用该字段。

You just have to create the appropriate migration.

In your plugin's directory, create the file db/migrate/update_journal.rb with the following :

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

Then you can execute the task rake db:migrate_plugins RAILS_ENV=production to update your database with the new field.

After executing the migration, your journal database will have the my_bool field that you'll be able to call like every other field.

π浅易 2024-08-18 00:29:29

我能够使用以下代码扩展现有的用户模型:

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

I was able to extend the existing user model using the following code:

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

Also I needed to name the migration file in way that it began with a number eg. myplugin/db/migrate/001_update_user.rb

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文