Odpowiedz

39

Wydając rake -T masz następujące zadania baz danych:

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 

Aby wydać bundle exec rake db:drop:all i jeśli chcesz usunąć wszystkie migracje i ssuming, który chcesz usunąć tylko z migracji, usuń je i napisz nowe.

Jeśli chcesz zmienić również swoje modele, użyj rails d model.

4

To będzie pozbyć DB:

rake db:drop 

i dla każdej migracji że masz:

rails d migration migration_name 
+0

Wielkie dzięki. Czy jest coś jeszcze, co powinienem sprzątać? (Właśnie zacząłem uczyć się Railsów). – fearofawhackplanet

0

Tak, możliwe jest usunięcie bazy danych i migracja.

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