diff options
author | Andrey Nering <andrey.nering@gmail.com> | 2015-01-29 20:37:38 -0200 |
---|---|---|
committer | Andrey Nering <andrey.nering@gmail.com> | 2015-01-29 20:51:11 -0200 |
commit | 3f11bc00d76dc323a5699762e31138924b24e495 (patch) | |
tree | 4e0d993ed57d77c04a7c2537e0aac9c527c312a9 /guides | |
parent | 6296c09e5b915c522c4127844c623afb44c62e1a (diff) | |
download | rails-3f11bc00d76dc323a5699762e31138924b24e495.tar.gz rails-3f11bc00d76dc323a5699762e31138924b24e495.tar.bz2 rails-3f11bc00d76dc323a5699762e31138924b24e495.zip |
Improvements about schema dumping [ci skip]
Diffstat (limited to 'guides')
-rw-r--r-- | guides/source/active_record_migrations.md | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/guides/source/active_record_migrations.md b/guides/source/active_record_migrations.md index 97cabc1728..b8db21a989 100644 --- a/guides/source/active_record_migrations.md +++ b/guides/source/active_record_migrations.md @@ -479,7 +479,8 @@ Rails will generate a name for every foreign key starting with There is a `:name` option to specify a different name if needed. NOTE: Active Record only supports single column foreign keys. `execute` and -`structure.sql` are required to use composite foreign keys. +`structure.sql` are required to use composite foreign keys. See +[Schema Dumping and You](#schema-dumping-and-you). Removing a foreign key is easy as well: @@ -695,6 +696,10 @@ of `create_table` and `reversible`, replacing `create_table` by `drop_table`, and finally replacing `up` by `down` and vice-versa. This is all taken care of by `revert`. +NOTE: If you want to add check constraints like in the examples above, +you will have to use `structure.sql` as dump method. See +[Schema Dumping and You](#schema-dumping-and-you). + Running Migrations ------------------ @@ -943,10 +948,10 @@ that Active Record supports. This could be very useful if you were to distribute an application that is able to run against multiple databases. There is however a trade-off: `db/schema.rb` cannot express database specific -items such as triggers, or stored procedures. While in a migration you can -execute custom SQL statements, the schema dumper cannot reconstitute those -statements from the database. If you are using features like this, then you -should set the schema format to `:sql`. +items such as triggers, stored procedures or check constraints. While in a +migration you can execute custom SQL statements, the schema dumper cannot +reconstitute those statements from the database. If you are using features like +this, then you should set the schema format to `:sql`. Instead of using Active Record's schema dumper, the database's structure will be dumped using a tool specific to the database (via the `db:structure:dump` |