Можно ли полностью удалить базу данных и все записи миграции и т.д. из существующего приложения, чтобы я мог перепроектировать базу данных с нуля?
Уничтожить/удалить базу данных в Rails
Ответ 1
Выдавая 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 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
.
Ответ 2
Это избавит вас от db:
rake db:drop
И для каждой миграции, которая у вас есть:
rails d migration migration_name
Ответ 3
Да, возможно удалить базу данных и выполнить миграцию.
rake db:drop
rake db:rollback
rails d migration 'migration name'
rake db:create
rake db:migrate
rake db:seed
rake db:test:prepare