Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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_table :orders
  end

  self.down
      raise IrreversibleMigration
  end
end
like image 326
Jake Avatar asked Aug 06 '11 04:08

Jake


2 Answers

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.

like image 200
Zeeshan Avatar answered Oct 03 '22 10:10

Zeeshan


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'.

like image 27
Thaha kp Avatar answered Oct 03 '22 09:10

Thaha kp