回答

39

通过发行rake -T您有以下数据库任务:

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 

因此,要发布bundle exec rake db:drop:all,并且如果要删除所有迁移,并且假设你只想删除迁移,删除它们并写入新的迁移。

如果您也想更换模型,请使用rails d model

4

这将摆脱分贝:

rake db:drop 

并为每个迁移,你必须:

rails d migration migration_name 
+0

非常感谢。还有什么我应该清理? (我刚开始学习Rails)。 – fearofawhackplanet

0

是的,它可能会删除数据库和迁移。

rake db:drop 
rake db:rollback 
rails d migration 'migration name' 
rake db:create 
rake db:migrate 
rake db:seed 
rake db:test:prepare