it-swarm.com.de

Datenbank in Rails zerstören/entfernen

Ist es möglich, die Datenbank und alle Migrationsaufzeichnungen usw. vollständig aus einer vorhandenen Anwendung zu entfernen, um die Datenbank von Grund auf neu zu gestalten?

17

Durch die Ausgabe von rake -T haben Sie die folgenden Datenbankaufgaben:

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

Um bundle exec rake db:drop:all auszugeben und wenn Sie alle Migrationen entfernen möchten, und nur die Migrationen entfernen möchten, löschen Sie sie und schreiben Sie neue. 

Wenn Sie auch Ihre Modelle ändern möchten, verwenden Sie Rails d model.

45
Paulo Fidalgo

Dies wird die DB loswerden:

rake db:drop 

Und für jede Migration, die Sie haben:

Rails d migration migration_name
4
stephenmurdoch

Ja, die Datenbank und die Migration können entfernt werden.

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
Dheer