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.
精彩评论