Destroy/Remove database in Rails

后端 未结 3 480
终归单人心
终归单人心 2021-01-31 18:30

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?

相关标签:
3条回答
  • 2021-01-31 19:23

    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.

    0 讨论(0)
  • 2021-01-31 19:29

    This will get rid of the db:

    rake db:drop 
    

    And for each migration that you have:

    rails d migration migration_name
    
    0 讨论(0)
  • 2021-01-31 19:29

    Yes, Its possible to remove the database and migration.

    rake db:drop
    rake db:rollback
    rails d migration 'migration name'
    rake db:create
    rake db:migrate
    rake db:seed
    rake db:test:prepare
    
    0 讨论(0)
提交回复
热议问题