title: Deal with a drop_table migration for nonexistent table on heroku
body: <p>I created a 'campaigns' table in my postgres db in my local env.  I never committed the changes and thus never pushed that to production on heroku.</p>
  
  <p>When I changed my mind about needing that table, I foolishly deleted the migration manually (I know now never to do this).  However, since the migration already had run, I created a <code>21041211003219_drop_campaigns_table</code> migration to drop the table from the local db.</p>
  
  <p>Now when I run <code>heroku run rake db:migrate</code> on production I get the following error:</p>
  
  <pre><code>Migrating to DropCampaignsTable (20141211003219)                                                                                                                                                                                                     
  == 20141211003219 DropCampaignsTable: migrating ===============================                                                                                                                                                                      
  -- drop_table(:campaigns)                                                                                                                                                                                                                            
  PG::UndefinedTable: ERROR:  table "campaigns" does not exist                                                                                                                                                                                         
  : DROP TABLE "campaigns"                                                                                                                                                                                                                             
  rake aborted!                                                                                                                                                                                                                                        
  StandardError: An error has occurred, this and all later migrations canceled:                                                                                                                                                                        
  
  PG::UndefinedTable: ERROR:  table "campaigns" does not exist                                                                                                                                                                                         
  : DROP TABLE "campaigns"/app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:in `async_exec'                                                                            
  /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:in `block in execute'             
  </code></pre>
  
  <p>I understand that it is trying to run a drop table migration for a table that it never knew existed but I'm unsure on how to handle this.</p>
  
  <p>I tried deleting the drop table migration, pushing to production and running it but it still tried to run that migration.</p>
  
  <p>After rolling back that commit I've been thinking about manually creating a new migration with a datestamp prior to the  <code>21041211003219_drop_campaigns_table</code> migration that re-creates the table but then I feel like I'll be left with the table existing in the local postgres db (since the <code>21041211003219_drop_campaigns_table</code> has already run locally).</p>
  
  <p>Do I go ahead with the manual creation and then try to re-run the drop migration?</p>
  
  <p>Can someone please advise me on the best course of action here?</p>