Pergunta

Os tutoriais do plug -in Redmine explicam como envolver os modelos principais, mas o que eu preciso é adicionar outra coluna à tabela de diários. Preciso de um campo booleano inserido no modelo de periódicos. Criar outro modelo com uma relação 'pertences_to: diário' parece um exagero. Isso pode ser feito com um plugin? Devo notar que sou um novato no Rails.

Foi útil?

Solução

Você só tem que criar o apropriado migração.

No diretório do seu plugin, crie o arquivo db/migrate/update_journal.rb com o seguinte :

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

Então você pode executar a tarefa rake db:migrate_plugins RAILS_ENV=production Para atualizar seu banco de dados com o novo campo.

Depois de executar a migração, seu banco de dados de periódicos terá o my_bool Campo que você poderá chamar como qualquer outro campo.

Outras dicas

Consegui estender o modelo de usuário existente usando o seguinte código:

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

Além disso, eu precisava nomear o arquivo de migração da maneira que começou com um número, por exemplo. myplugin/db/migre/001_update_user.rb

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top