Подтвердить что ты не робот

Уничтожить/удалить базу данных в Rails

Можно ли полностью удалить базу данных и все записи миграции и т.д. из существующего приложения, чтобы я мог перепроектировать базу данных с нуля?

4b9b3361

Ответ 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