In the Rails 4 documentation (http://guides.rubyonrails.org/migrations.html#creating-a-join-table) I see that to drop a table or a join table, one can use the following methods in command line:
drop_table
and drop_join_table
.
However, it further adds that one must 'supply a block' -- and I do not know what that looks like in execution.
Regardless here's my question: how do I either drop a table or drop a join table?
Also, when I say drop, I mean remove it from my database. I know I can not delete migrations and that it is not wise to roll back migrations because it messes up collaboration efforts -- so I would like to avoid deleting migration files and rolling back migrations if I can.
I made a mistake when creating migrations to populate the database. I know how to modify the columns of tables (adding new ones, renaming them and deleting them). I just do not know how to purge tables.
Thank you for considering my question.
I would like to remove a table completely from my database. My application is running on Rails 4.
The
drop_join_table
method is define in document drop_join_tableIt takes table 1, table 2 names. Example: you have 2 tables named
categories
andproducts
, and join table namedcategories_products
)So create a migration file with any name you like, then you write code to delete join tables: :
you can pass in other options to
drop_join_table
method, these options as the same likecreate_join_table
. Look at this method to see more options.Example, if your join table does not have name follow convention, like
categorization
, you could specify it:To delete a table, it is simpler with
drop_table
method:Others option can be pass in to
drop_table
method, like options ofcreate_table
method