Destroy/Remove database in Rails

fearofawhackplanet picture fearofawhackplanet · Jul 15, 2013 · Viewed 53.5k times · Source

Is it possible to completely remove the database and all migration records etc from an existing application so I can redesign the database from scratch?

Answer

Paulo Fidalgo picture Paulo Fidalgo · Jul 15, 2013

By issuing rake -T you have the following database tasks:

rake db:create          # Create the database from DATABASE_URL or config/database.yml for the current Rails.env (use db:create:all to create all dbs in the config)
rake db:drop            # Drops the database using DATABASE_URL or the current Rails.env (use db:drop:all to drop all databases)
rake db:fixtures:load   # Load fixtures into the current environment's database
rake db:migrate         # Migrate the database (options: VERSION=x, VERBOSE=false)
rake db:migrate:status  # Display status of migrations
rake db:rollback        # Rolls the schema back to the previous version (specify steps w/ STEP=n)
rake db:schema:dump     # Create a db/schema.rb file that can be portably used against any DB supported by AR
rake db:schema:load     # Load a schema.rb file into the database
rake db:seed            # Load the seed data from db/seeds.rb
rake db:setup           # Create the database, load the schema, and initialize with the seed data (use db:reset to also drop the db first)
rake db:structure:dump  # Dump the database structure to db/structure.sql
rake db:version         # Retrieves the current schema version number

So to issue bundle exec rake db:drop:all and if you want to remove all the migrations, and assuming you want to remove only the migrations, delete them and write new ones.

If you want to change your models too, use rails d model.