在rails 1.2.6中添加列到数据库表(旧版本)

时间:2014-11-05 08:35:13

标签: ruby-on-rails ruby

我正在使用ruby 1.8.7和rails 1.2.6。 (我知道它很老。但我必须使用它。)我需要向用户表添加列。我无法使用rails生成使用rails 1.2.6进行迁移。我需要添加一个版本化的db迁移文件。我怎样才能做到这一点? 我想将产品列添加到users表。我在db / migrate文件夹中创建了一个文件,其中包含以下内容。

class AddProductToUser < ActiveRecord::Migration
    def self.up
      add_column :users, :product, :string
    end
    def self.down
      remove_column :users, :product
    end
end

我使用了script/generate migration AddProductToUser。它给出了一个错误 undefined method 'cache' for Gem:Module

有关如何在rails 1.2.6(&lt; 2.x)中运行迁移的任何指针也很有用。

1 个答案:

答案 0 :(得分:0)

您的迁移文件看起来(差不多),文件名是否与类名匹配,是否在上一次迁移后的开头有序列号?

轻微改变:

# db/migrate/123_add_product_to_user.rb
class AddProductToUser < ActiveRecord::Migration
  def self.up
    add_column :users, :product, :string
  end

  def self.down
    remove_column :users, :product # note sure where radius came from?
  end
end

然后应该使用rake migrate

运行

More info at apidock