mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #52 from dyba/651cabc69a6cd661bc33824b995c2242fb65befe
Modified migrations file
This commit is contained in:
commit
88e307a0a6
1 changed files with 27 additions and 12 deletions
|
@ -117,6 +117,33 @@ Occasionally you will make a mistake when writing a migration. If you have alrea
|
|||
|
||||
In general editing existing migrations is not a good idea: you will be creating extra work for yourself and your co-workers and cause major headaches if the existing version of the migration has already been run on production machines. Instead you should write a new migration that performs the changes you require. Editing a freshly generated migration that has not yet been committed to source control (or more generally which has not been propagated beyond your development machine) is relatively harmless.
|
||||
|
||||
h4. Supported Types
|
||||
|
||||
Active Record supports the following types:
|
||||
|
||||
* +:primary_key+
|
||||
* +:string+
|
||||
* +:text+
|
||||
* +:integer+
|
||||
* +:float+
|
||||
* +:decimal+
|
||||
* +:datetime+
|
||||
* +:timestamp+
|
||||
* +:time+
|
||||
* +:date+
|
||||
* +:binary+
|
||||
* +:boolean+
|
||||
|
||||
These will be mapped onto an appropriate underlying database type, for example with MySQL +:string+ is mapped to +VARCHAR(255)+. You can create columns of types not supported by Active Record when using the non-sexy syntax, for example
|
||||
|
||||
<ruby>
|
||||
create_table :products do |t|
|
||||
t.column :name, 'polygon', :null => false
|
||||
end
|
||||
</ruby>
|
||||
|
||||
This may however hinder portability to other databases.
|
||||
|
||||
h3. Creating a Migration
|
||||
|
||||
h4. Creating a Model
|
||||
|
@ -261,18 +288,6 @@ end
|
|||
|
||||
will append +ENGINE=BLACKHOLE+ to the SQL statement used to create the table (when using MySQL the default is +ENGINE=InnoDB+).
|
||||
|
||||
The types supported by Active Record are +:primary_key+, +:string+, +:text+, +:integer+, +:float+, +:decimal+, +:datetime+, +:timestamp+, +:time+, +:date+, +:binary+, +:boolean+.
|
||||
|
||||
These will be mapped onto an appropriate underlying database type, for example with MySQL +:string+ is mapped to +VARCHAR(255)+. You can create columns of types not supported by Active Record when using the non-sexy syntax, for example
|
||||
|
||||
<ruby>
|
||||
create_table :products do |t|
|
||||
t.column :name, 'polygon', :null => false
|
||||
end
|
||||
</ruby>
|
||||
|
||||
This may however hinder portability to other databases.
|
||||
|
||||
h4. Changing Tables
|
||||
|
||||
A close cousin of +create_table+ is +change_table+, used for changing existing tables. It is used in a similar fashion to +create_table+ but the object yielded to the block knows more tricks. For example
|
||||
|
|
Loading…
Reference in a new issue