开发者

Heroku Drop Table Rails Help

I am using Ruby on Rails and I no longer need my table Order so I deleted it using SQLite manager.. How can I make the table deletion take place in heroku?

EDIT I am getting the error

db/migrate/20110806052256_droptableorders.rb:10: syntax error, unexpected keyword_end, expecting $end

When i run the command

class DropTableOrder < ActiveRecord::Migration
  self.up
      drop_tabl开发者_如何学Pythone :orders
  end

  self.down
      raise IrreversibleMigration
  end
end


In case you don't want to create a migration to drop table and cant rollback the previous migrations because you don't want to lose the data in the tables created after that migration, you could use following commands on heroku console to drop a table:

$ heroku console
Ruby console for heroku-project-name
>> ActiveRecord::Migration.drop_table(:orders)

Above command will drop the table from your heroku database. You can use other methods like create_table, add_column, add_index etc. in the ActiveRecord::Migration module to manipulate database without creating and running a migration. But be warned that this will leave a mess behind in the schema_migrations table created by Rails for managing migration versions.

This could only be useful if your application is still under development and you don't want to lose the data you have added on remote staging server on heroku.


Execute following command.Here 'abc' is app name

heroku run console --app abc

Then use,

ActiveRecord::Migration.drop_table(:orders)

It will drop the table 'order'.


Just create a migration like this:

def self.up
    drop_table :orders
end

def self.down
    # whatever you need to recreate the table or
    # raise IrreversibleMigration
    # if you want this to be irreversible.
end

and then do a heroku rake db:migrate the next time you push your changes.

You might want to recreate the table in SQLite so that you can run this migration locally as well.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜