heroku和db迁移

时间:2011-05-22 15:38:08

标签: ruby-on-rails migration heroku

class AddExpMonthAndExpYearToOrder < ActiveRecord::Migration
  def self.up
    add_column :orders, :exp_month, :integer
    add_column :orders, :exp_year, :integer
  end

  def self.down
    remove_column :orders, :exp_month
    remove_column :orders, :exp_year
  end
end

进行此迁移,在heroku上运行,但没有任何变化。新字段不会出现在表格中。 Dunno哪里有问题

Ruby console for sample.heroku.com
>> Order
=> Order(id: integer, ship_address: string, city: string, state: string, zip: string, cc_number: string, telephone: string, cart_id: integer, created_at: datetime, updated_at: datetime)
>> exit
petya:geomarket > heroku rake db:migrate
(in /app)
==  AddExpMonthAndExpYearToOrder: migrating ===================================
-- add_column(:orders, :exp_month, :integer)
   -> 0.0025s
-- add_column(:orders, :exp_year, :integer)
   -> 0.0017s
==  AddExpMonthAndExpYearToOrder: migrated (0.0044s) ==========================

petya:geomarket > heroku console
Ruby console for sample.heroku.com
>> Order
=> Order(id: integer, ship_address: string, city: string, state: string, zip: string, cc_number: string, telephone: string, cart_id: integer, created_at: datetime, updated_at: datetime)

在我的本地机器上一切正常。试图重新调整,没有帮助。

3 个答案:

答案 0 :(得分:1)

如果您以本地方式设置数据库,并且只想在Heroku上镜像该数据/架构,请尝试heroku db:push

祝你好运!

答案 1 :(得分:1)

heroku改变了他们的api heroku run rake db:migrate为我解决了这个问题

答案 2 :(得分:0)

我遇到了同样的问题。

Heroku在迁移命名方面非常严格。尝试在类名和文件名中添加's',您将看到它有效。

它对我有用,所以也许这也可以解决你的问题。