是否可以从现有应用程序中完全删除数据库和所有迁移记录等,以便我可以从头开始重新设计数据库?
问问题
59390 次
3 回答
67
通过发布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
.
于 2013-07-15T10:28:13.480 回答
8
这将摆脱分贝:
rake db:drop
对于您拥有的每个迁移:
rails d migration migration_name
于 2013-07-15T08:25:07.933 回答
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
于 2014-06-26T07:25:37.683 回答