Skip to content

Instantly share code, notes, and snippets.

@kadru
Created December 18, 2018 15:59
Show Gist options
  • Save kadru/b7acf42b1f7cb109d10350750a9fc37f to your computer and use it in GitHub Desktop.
Save kadru/b7acf42b1f7cb109d10350750a9fc37f to your computer and use it in GitHub Desktop.
All Rails db Rake Tasks
db:create #Creates the database for the current RAILS_ENV environment. If RAILS_ENV is not specified it defaults to the development and test databases.
db:create:all #Creates the database for all environments.
db:drop #Drops the database for the current RAILS_ENV environment. If RAILS_ENV is not specified it defaults to the development and test databases.
db:drop:all #Drops the database for all environments.
db:migrate #Runs migrations for the current environment that have not run yet. By default it will run migrations only in the development environment.
db:migrate:redo #Runs db:migrate:down and db:migrate:up or db:migrate:rollback and db:migrate:up depending on the specified migration. I usually run this after creating and running a new migration to ensure the migration is reversable.
db:migrate:up #Runs the up for the given migration VERSION.
db:migrate:down #Runs the down for the given migration VERSION.
db:migrate:status #Displays the current migration status.
db:migrate:rollback #Rolls back the last migration.
db:version #Prints the current schema version.
db:forward #Pushes the schema to the next version.
db:seed #Runs the db/seeds.rb file.
db:schema:load #Loads the schema into the current environment’s database.
db:schema:dump #Dumps the current environment’s schema to db/schema.rb.
db:setup #Runs db:create, db:schema:load and db:seed.
db:reset #Runs db:drop and db:setup.
db:migrate:reset #Runs db:drop, db:create and db:migrate.
db:test:prepare #Check for pending migrations and load the test schema. (If you run rake without any arguments it will do this by default.)
db:test:clone #Recreate the test database from the current environment’s database schema.
db:test:clone_structure #Similar to db:test:clone, but it will ensure that your test database has the same structure, including charsets and collations, as your current environment’s database.
db:environment:set #Set the current RAILS_ENV environment in the ar_internal_metadata table. (Used as part of the protected environment check.)
db:check_protected_environments #Checks if a destructive action can be performed in the current RAILS_ENV environment. Used internally when running a destructive action such as db:drop or db:schema:load.
@kadru
Copy link
Author

kadru commented Dec 18, 2018

credits to this post

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment