Измените имя столбца в базе данных rails. - PullRequest
1 голос
/ 24 февраля 2012

У меня есть этот стол

class CreateEvents < ActiveRecord::Migration
  def self.up
    create_table :events do |t|
      t.integer :subcategory
      t.string :event_name
      t.text :description
      t.string :location
      t.date :date
      t.decimal :price

          t.timestamps
            end
          end

      def self.down
        drop_table :events
      end
end

и я хочу изменить подкатегорию на subcategory_id. Я пробую это, но не работает

сценарий ruby ​​/ сгенерируйте миграцию RenameDatabaseColumn, а затем я перешел к файлу, который находится в db \ migrate, и отредактировал его так, чтобы он выглядел так:

class RenameDatabaseColumn < ActiveRecord::Migration
def self.up
rename_column :events, :subgategory, :subgategory_id
end

def self.down
 # rename back if you need or do something else or do nothing
end
end

затем я запускаю команду rake db: migrate, но столбец остается подкатегорией. Не могли бы вы мне помочь? Я использую рельсы 2.0

Спасибо

1 Ответ

11 голосов
/ 24 февраля 2012

Вы неправильно написали имя столбца?не так ли :subcategory?Вы написали :subgategory.

class RenameDatabaseColumn < ActiveRecord::Migration
  def self.up
    rename_column :events, :subcategory, :subcategory_id
  end

  def self.down
    # rename back if you need or do something else or do nothing
  end
end
...