aboutsummaryrefslogtreecommitdiffstats
path: root/railties/doc/guides/migrations/rakeing_around.txt
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2008-10-21 15:58:29 +0100
committerPratik Naik <pratiknaik@gmail.com>2008-10-21 16:04:38 +0100
commit5265a8cd40a59ae792da3ed3f2a9648f15ecbd4e (patch)
tree44f66c3d1552e1821454658c653f062baada8668 /railties/doc/guides/migrations/rakeing_around.txt
parentfa09de351c8045c7e7a0f268188ccf80c827b079 (diff)
downloadrails-5265a8cd40a59ae792da3ed3f2a9648f15ecbd4e.tar.gz
rails-5265a8cd40a59ae792da3ed3f2a9648f15ecbd4e.tar.bz2
rails-5265a8cd40a59ae792da3ed3f2a9648f15ecbd4e.zip
Rearrange guides
Diffstat (limited to 'railties/doc/guides/migrations/rakeing_around.txt')
-rw-r--r--railties/doc/guides/migrations/rakeing_around.txt111
1 files changed, 0 insertions, 111 deletions
diff --git a/railties/doc/guides/migrations/rakeing_around.txt b/railties/doc/guides/migrations/rakeing_around.txt
deleted file mode 100644
index 1fcca0cf24..0000000000
--- a/railties/doc/guides/migrations/rakeing_around.txt
+++ /dev/null
@@ -1,111 +0,0 @@
-== Running Migrations ==
-
-Rails provides a set of rake tasks to work with migrations which boils down to running certain sets of migrations. The very first migration related rake task you use will probably be `db:migrate`. In its most basic form it just runs the `up` method for all the migrations that have not yet been run. If there are no such migrations it exits.
-
-If you specify a target version, Active Record will run the required migrations (up or down) until it has reached the specified version. The
-version is the numerical prefix on the migration's filename. For example to migrate to version 20080906120000 run
-
-------------------------------------
-rake db:migrate VERSION=20080906120000
-------------------------------------
-
-If this is greater than the current version (i.e. it is migrating upwards) this will run the `up` method on all migrations up to and including 20080906120000, if migrating downwards this will run the `down` method on all the migrations down to, but not including, 20080906120000.
-
-=== Rolling back ===
-
-A common task is to rollback the last migration, for example if you made a mistake in it and wish to correct it. Rather than tracking down the version number associated with the previous migration you can run
-
-------------------
-rake db:rollback
-------------------
-
-This will run the `down` method from the latest migration. If you need to undo several migrations you can provide a `STEP` parameter:
-
-------------------
-rake db:rollback STEP=3
-------------------
-
-will run the `down` method fron the last 3 migrations.
-
-The `db:migrate:redo` task is a shortcut for doing a rollback and then migrating back up again. As with the `db:rollback` task you can use the `STEP` parameter if you need to go more than one version back, for example
-
-------------------
-rake db:migrate:redo STEP=3
-------------------
-
-Neither of these Rake tasks do anything you could not do with `db:migrate`, they are simply more convenient since you do not need to explicitly specify the version to migrate to.
-
-Lastly, the `db:reset` task will drop the database, recreate it and load the current schema into it.
-
-NOTE: This is not the same as running all the migrations - see the section on <<schema,schema.rb>>.
-
-=== Being Specific ===
-
-If you need to run a specific migration up or down the `db:migrate:up` and `db:migrate:down` tasks will do that. Just specify the appropriate version and the corresponding migration will have its `up` or `down` method invoked, for example
-
-------------------
-rake db:migrate:up VERSION=20080906120000
-------------------
-
-will run the `up` method from the 20080906120000 migration. These tasks check whether the migration has already run, so for example `db:migrate:up VERSION=20080906120000` will do nothing if Active Record believes that 20080906120000 has already been run.
-
-
-=== Being talkative ===
-
-By default migrations tell you exactly what they're doing and how long it took.
-A migration creating a table and adding an index might produce output like this
--------------------------
-== 20080906170109 CreateProducts: migrating ===================================
--- create_table(:products)
- -> 0.0021s
--- add_index(:products, :name)
- -> 0.0026s
-== 20080906170109 CreateProducts: migrated (0.0059s) ==========================
--------------------------
-Several methods are provided that allow you to control all this:
-
-* `suppress_messages` suppresses any output generated by its block
-* `say` outputs text (the second argument controls whether it is indented or not)
-* `say_with_time` outputs text along with how long it took to run its block. If the block returns an integer it assumes it is the number of rows affected.
-
-For example, this migration
-
-[source, ruby]
-----------------------
-class CreateProducts < ActiveRecord::Migration
- def self.up
- suppress_messages do
- create_table :products do |t|
- t.string :name
- t.text :description
- t.timestamps
- end
- end
- say "Created a table"
- suppress_messages {add_index :products, :name}
- say "and an index!", true
- say_with_time 'Waiting for a while' do
- sleep 10
- 250
- end
- end
-
- def self.down
- drop_table :products
- end
-end
-----------------------
-
-generates the following output
-----------------------
-== 20080906170109 CreateProducts: migrating ===================================
--- Created a table
- -> and an index!
--- Waiting for a while
- -> 10.0001s
- -> 250 rows
-== 20080906170109 CreateProducts: migrated (10.0097s) =========================
-----------------------
-
-If you just want Active Record to shut up then running `rake db:migrate VERBOSE=false` will suppress any output.
-