<?xml version="1.0" encoding="UTF-8"?>
<ticket>
  <assigned-user-id type="integer">1366</assigned-user-id>
  <attachments-count type="integer">0</attachments-count>
  <closed type="boolean">true</closed>
  <created-at type="datetime">2010-01-30T08:48:26+00:00</created-at>
  <creator-id type="integer">1366</creator-id>
  <milestone-due-on type="datetime" nil="true"></milestone-due-on>
  <milestone-id type="integer" nil="true"></milestone-id>
  <number type="integer">6</number>
  <permalink>migrations-guide</permalink>
  <priority type="integer">19700</priority>
  <project-id type="integer">16213</project-id>
  <raw-data type="binary" nil="true" encoding="base64"></raw-data>
  <state>published</state>
  <tag nil="true"></tag>
  <title>Migrations guide</title>
  <updated-at type="datetime">2010-01-30T08:48:26+00:00</updated-at>
  <user-id type="integer">33958</user-id>
  <user-name>Zach Hale</user-name>
  <creator-name>Pratik</creator-name>
  <assigned-user-name>Pratik</assigned-user-name>
  <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
  <original-body>* All user facing features
* Various rake tasks
* Difference between sql and ruby schema format. When to use which.</original-body>
  <latest-body>* All user facing features
* Various rake tasks
* Difference between sql and ruby schema format. When to use which.</latest-body>
  <original-body-html>&lt;div&gt;&lt;ul&gt;
&lt;li&gt;All user facing features&lt;/li&gt;
&lt;li&gt;Various rake tasks&lt;/li&gt;
&lt;li&gt;Difference between sql and ruby schema format. When to use
which.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</original-body-html>
  <versions type="array">
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>* All user facing features
* Various rake tasks
* Difference between sql and ruby schema format. When to use which.</body>
      <body-html>&lt;div&gt;&lt;ul&gt;
&lt;li&gt;All user facing features&lt;/li&gt;
&lt;li&gt;Various rake tasks&lt;/li&gt;
&lt;li&gt;Difference between sql and ruby schema format. When to use
which.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-04T14:47:12+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-04T14:47:12+01:00</updated-at>
      <user-id type="integer">1366</user-id>
      <user-name>Pratik</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>I'll have a stab at this</body>
      <body-html>&lt;div&gt;&lt;p&gt;I'll have a stab at this&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-05T15:09:45+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-05T15:09:48+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>I'll give it a shot</body>
      <body-html>&lt;div&gt;&lt;p&gt;I'll give it a shot&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-05T22:28:11+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-05T22:28:13+01:00</updated-at>
      <user-id type="integer">11359</user-id>
      <user-name>Tony Pitale</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Hey Tony,

I'm trying to avoid 2 people working on the same guide. And Freddy has already started working on it. It'd be great if you can PM me at github or email me, in case you want to take a stab at another guide ( wether it's in the list or not ).

Thanks.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Hey Tony,&lt;/p&gt;
&lt;p&gt;I'm trying to avoid 2 people working on the same guide. And
Freddy has already started working on it. It'd be great if you can
PM me at github or email me, in case you want to take a stab at
another guide ( wether it's in the list or not ).&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-05T22:42:13+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-05T22:42:13+01:00</updated-at>
      <user-id type="integer">1366</user-id>
      <user-name>Pratik</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>That works, PM sent.</body>
      <body-html>&lt;div&gt;&lt;p&gt;That works, PM sent.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-05T22:50:42+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-05T22:50:47+01:00</updated-at>
      <user-id type="integer">11359</user-id>
      <user-name>Tony Pitale</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>I've pushed a first draft, feedback welcomed.</body>
      <body-html>&lt;div&gt;&lt;p&gt;I've pushed a first draft, feedback welcomed.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-07T18:19:31+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-07T18:19:47+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>A few odds and ends, all pretty minor:

* I'd like to see motivational text at the top, telling readers what they'll learn (as I did in the routing guide).
* Nitpick: Do we have a standard for American vs. British spelling? Seems to me likely we should be using the former, so &quot;organized&quot; instead of &quot;organised.&quot;
* Style: (and at some point it would be nice to have a style editor to smooth out differences between guides): In general, &quot;I&quot; rather than &quot;we&quot; in technical writing (&quot;we&quot; as writer + reader is a false grouping, because they're not actually together in one place). 
* Passive voice: &quot;ActiveRecord provides methods...&quot; rather than &quot;Methods are provided...&quot;
* Typo: You've got &quot;t.references :attachement&quot; in a code sample, should be &quot;t.references :attachment&quot;</body>
      <body-html>&lt;div&gt;&lt;p&gt;A few odds and ends, all pretty minor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I'd like to see motivational text at the top, telling readers
what they'll learn (as I did in the routing guide).&lt;/li&gt;
&lt;li&gt;Nitpick: Do we have a standard for American vs. British
spelling? Seems to me likely we should be using the former, so
&quot;organized&quot; instead of &quot;organised.&quot;&lt;/li&gt;
&lt;li&gt;Style: (and at some point it would be nice to have a style
editor to smooth out differences between guides): In general, &quot;I&quot;
rather than &quot;we&quot; in technical writing (&quot;we&quot; as writer + reader is a
false grouping, because they're not actually together in one
place).&lt;/li&gt;
&lt;li&gt;Passive voice: &quot;ActiveRecord provides methods...&quot; rather than
&quot;Methods are provided...&quot;&lt;/li&gt;
&lt;li&gt;Typo: You've got &quot;t.references :attachement&quot; in a code sample,
should be &quot;t.references :attachment&quot;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-07T18:50:42+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-07T18:50:55+01:00</updated-at>
      <user-id type="integer">7211</user-id>
      <user-name>Mike Gunderloy</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Well I'm english so in the absence of guidelines I defaulted to that. I'll fix up the typos and what not too.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Well I'm english so in the absence of guidelines I defaulted to
that. I'll fix up the typos and what not too.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-07T19:12:54+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-07T19:13:13+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>* You mention that migrations are &quot;not the final word in what an application's schema is&quot;. This confuse the reader by giving him the impression that the schema file may be edited in order to to change the application's database schema. You should explain in the first paragraph that the schema file is autogenerated by introspecting the database, and that it should not be edited. It merely represents the final state of the database after having run all migrations (or at least, it's supposed to, because if you dump after having modified the database by hand, then the dump file won't be in sync with the migrations).

* You should advice the user about whether or not schema.rb should be put in version control.

* I think that &quot;the entire history&quot; in

  &quot;There is no need (and it is error prone) to deploy a new instance of an app by replaying the entire history of that application.&quot;

is better worded as &quot;the entire migration history&quot;. This avoids confusion with code history. You should also mention that loading the schema is not only simpler, but also faster.

* There exists plugins for foreign key support (including dumping and loading) for migrations: http://agilewebdevelopment.com/plugins/search?search=redhillonrails
These plugins have a pretty high rating. Might it be a good idea to mention them?</body>
      <body-html>&lt;div&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;You mention that migrations are &quot;not the final word in what an
application's schema is&quot;. This confuse the reader by giving him the
impression that the schema file may be edited in order to to change
the application's database schema. You should explain in the first
paragraph that the schema file is autogenerated by introspecting
the database, and that it should not be edited. It merely
represents the final state of the database after having run all
migrations (or at least, it's supposed to, because if you dump
after having modified the database by hand, then the dump file
won't be in sync with the migrations).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You should advice the user about whether or not schema.rb should
be put in version control.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I think that &quot;the entire history&quot; in&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&quot;There is no need (and it is error prone) to deploy a new
instance of an app by replaying the entire history of that
application.&quot;&lt;/p&gt;
&lt;p&gt;is better worded as &quot;the entire migration history&quot;. This avoids
confusion with code history. You should also mention that loading
the schema is not only simpler, but also faster.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There exists plugins for foreign key support (including dumping
and loading) for migrations: &lt;a href=&quot;http://agilewebdevelopment.com/plugins/search?search=redhillonrails&quot;&gt;
http://agilewebdevelopment.com/p...&lt;/a&gt; These plugins have a pretty
high rating. Might it be a good idea to mention them?&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-08T12:18:42+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-08T12:18:45+01:00</updated-at>
      <user-id type="integer">10679</user-id>
      <user-name>Hongli Lai</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Thanks for those comments. I've implemented most of those suggestions, but I'm not entirely sure where I'd mention those plugins. Writing a migration section ?</body>
      <body-html>&lt;div&gt;&lt;p&gt;Thanks for those comments. I've implemented most of those
suggestions, but I'm not entirely sure where I'd mention those
plugins. Writing a migration section ?&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-08T12:41:42+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-08T12:41:48+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>I think that a special chapter should be devoted to foreign key support. I can imagine that newcomers might wonder why Rails/ActiveRecord doesn't support foreign key constraints out-of-the-box, so this chapter can explain the reason and link to the plugins. There are several places in the guide that advice the reader to use &quot;execute&quot; for adding foreign key constraints. Those places should link to the foreign key section as well.

You could also briefly mention that ActiveRecord's validations (e.g. validates_uniqueness_of) and its :dependent option can be used for managing referential integrity on the application level. They don't *guarantee* referential integrity (they're prone racing conditions, and database modifications outside the application can mess things up) so it's up to the reader to decide whether they need foreign keys. Foreign keys can also be used in addition to ActiveRecord's validations and association management features.</body>
      <body-html>&lt;div&gt;&lt;p&gt;I think that a special chapter should be devoted to foreign key
support. I can imagine that newcomers might wonder why
Rails/ActiveRecord doesn't support foreign key constraints
out-of-the-box, so this chapter can explain the reason and link to
the plugins. There are several places in the guide that advice the
reader to use &quot;execute&quot; for adding foreign key constraints. Those
places should link to the foreign key section as well.&lt;/p&gt;
&lt;p&gt;You could also briefly mention that ActiveRecord's validations
(e.g. validates_uniqueness_of) and its :dependent option can be
used for managing referential integrity on the application level.
They don't &lt;em&gt;guarantee&lt;/em&gt; referential integrity (they're prone
racing conditions, and database modifications outside the
application can mess things up) so it's up to the reader to decide
whether they need foreign keys. Foreign keys can also be used in
addition to ActiveRecord's validations and association management
features.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-08T12:56:02+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-08T12:56:08+01:00</updated-at>
      <user-id type="integer">10679</user-id>
      <user-name>Hongli Lai</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Sounds like a plan. I'm not actually too familiar with the official reason Active Record doesn't do foreign keys - is this written down somewhere ?</body>
      <body-html>&lt;div&gt;&lt;p&gt;Sounds like a plan. I'm not actually too familiar with the
official reason Active Record doesn't do foreign keys - is this
written down somewhere ?&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-08T13:00:29+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-08T13:00:32+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>I think it would also be a good idea to explain why one wants to use migrations instead of editing the database or an SQL file by hand. For me, it's so that I don't have to tell every other developer on my team what I've changed in the database schema. The changes can be applied in an automated manner.

You could also explain why the syntax is in Ruby. This allows a developer to use, for example, SQLite3 in development and MySQL in production, without having to worry about syntactic details of the CREATE TABLE statements.</body>
      <body-html>&lt;div&gt;&lt;p&gt;I think it would also be a good idea to explain why one wants to
use migrations instead of editing the database or an SQL file by
hand. For me, it's so that I don't have to tell every other
developer on my team what I've changed in the database schema. The
changes can be applied in an automated manner.&lt;/p&gt;
&lt;p&gt;You could also explain why the syntax is in Ruby. This allows a
developer to use, for example, SQLite3 in development and MySQL in
production, without having to worry about syntactic details of the
CREATE TABLE statements.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-08T13:02:15+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-08T13:02:20+01:00</updated-at>
      <user-id type="integer">10679</user-id>
      <user-name>Hongli Lai</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>I don't think the lack of foreign key support is written down anywhere. Can anyone from the core team explain?</body>
      <body-html>&lt;div&gt;&lt;p&gt;I don't think the lack of foreign key support is written down
anywhere. Can anyone from the core team explain?&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-08T13:03:05+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-08T13:03:08+01:00</updated-at>
      <user-id type="integer">10679</user-id>
      <user-name>Hongli Lai</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Because Rails is designed to work with an application database, and not an integration database. Rails believes only one application is talking ( or should talk ) to the database and treats the database as just one big fat persistent hash. It should be application's responsibility to enforce data integrity.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Because Rails is designed to work with an application database,
and not an integration database. Rails believes only one
application is talking ( or should talk ) to the database and
treats the database as just one big fat persistent hash. It should
be application's responsibility to enforce data integrity.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-08T13:20:35+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-08T13:20:39+01:00</updated-at>
      <user-id type="integer">1366</user-id>
      <user-name>Pratik</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Good points Hongli. I've sort of hinted at them, but it would be good to have them in the open. I don't quite buy the line of data integrity - ruby level checks are subject to race conditions and so on but i'll chuck that in.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Good points Hongli. I've sort of hinted at them, but it would be
good to have them in the open. I don't quite buy the line of data
integrity - ruby level checks are subject to race conditions and so
on but i'll chuck that in.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-08T13:24:55+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-08T13:25:01+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>There's some discussion in an old DHH blog post, which is no longer online, but you can find quoted at http://lists.rubyonrails.org/pipermail/rails/2006-August/060573.html

Also of interest is a comment thread - http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/415d6649294e7fa0/7e8257a2bf5f621a?hl=en&amp;lnk=st&amp;q=rails+%22foreign+keys%22+david+hansson#7e8257a2bf5f621a - where DHH invites anyone who really cares to add FK support to Active Record - though that's 3 years old and I wouldn't necessarily take it to represent current core thinking.</body>
      <body-html>&lt;div&gt;&lt;p&gt;There's some discussion in an old DHH blog post, which is no
longer online, but you can find quoted at &lt;a href=&quot;http://lists.rubyonrails.org/pipermail/rails/2006-August/060573.html&quot;&gt;
http://lists.rubyonrails.org/pip...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also of interest is a comment thread - &lt;a href=&quot;http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/415d6649294e7fa0/7e8257a2bf5f621a?hl=en&amp;amp;amp;lnk=st&amp;amp;amp;q=rails+%22foreign+keys%22+david+hansson#7e8257a2bf5f621a&quot;&gt;
http://groups.google.com/group/c...&lt;/a&gt; - where DHH invites anyone
who really cares to add FK support to Active Record - though that's
3 years old and I wouldn't necessarily take it to represent current
core thinking.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-08T13:26:16+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-08T13:26:21+01:00</updated-at>
      <user-id type="integer">7211</user-id>
      <user-name>Mike Gunderloy</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>I've expanded the preamble and waffled about foreign keys. Must be being stupid but I can't get asciidoc to generate links across chapters</body>
      <body-html>&lt;div&gt;&lt;p&gt;I've expanded the preamble and waffled about foreign keys. Must
be being stupid but I can't get asciidoc to generate links across
chapters&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-09T02:26:31+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-09T02:26:35+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>To define an anchor:
[[anchor_name]]

To link to an anchor:
&lt;&lt;anchor_name,link title&gt;&gt;

Mizuho currently has a bug which causes it not to generate cross-chapter links when in multi-page mode. If you use single page mode (the default) then it will work fine.</body>
      <body-html>&lt;div&gt;&lt;p&gt;To define an anchor: [[anchor_name]]&lt;/p&gt;
&lt;p&gt;To link to an anchor: &amp;lt;&amp;lt;anchor_name,link title&amp;gt;&amp;gt;&lt;/p&gt;
&lt;p&gt;Mizuho currently has a bug which causes it not to generate
cross-chapter links when in multi-page mode. If you use single page
mode (the default) then it will work fine.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-09T12:52:21+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-09T12:52:27+01:00</updated-at>
      <user-id type="integer">10679</user-id>
      <user-name>Hongli Lai</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Ah, that explains it. I've stuck the links in.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Ah, that explains it. I've stuck the links in.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-09T14:08:09+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-09T14:08:14+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Well done!

I'd loved reading this guide and in fact learned a couple of things. I like the content, wording, examples, and the original titles of sections.

I've noticed the edition &quot;ActiveRecord&quot; -&gt; &quot;Active Record&quot; from initial versions and overall my impression is that the guide is converging.

I just got a few suggestions and have compiled a list of very small things like typos an such.


### _migrations.txt_ ###

* In &quot;Migrations also allow you to describe these transformations using ruby&quot; the Ruby language has a capital &quot;R&quot;.

* &quot;it's&quot; in &quot;its database independent&quot;.

* Fixed-width font for &quot;schema.rb&quot;.


### _anatomy_of_a_migration.txt_ ###

* I love you started right away with an example.

* Fixed-width font for &quot;products&quot; in &quot;This migration adds a table called products&quot;.

* Capital &quot;R&quot; for the &quot;ruby&quot; in &quot;A migration is just a regular ruby class&quot;.

* I think an example that depicts setting values in a new column using a model in the very migration would add here. Then, a pointer to the proper later section would be useful as well.


### _creating_a_migration.txt_ ###

* Delete &quot; are also created&quot; in &quot;columns that
are automatically populated by Active Record are also created&quot;.


### _writing_a_migration.txt_ ###

* Fixed-width font for &quot;name&quot; and &quot;id&quot; in &quot;which creates a products table with a column called name (and as discussed below, an implicit id column)&quot;.

* Fixed-width font for &quot;execute&quot; in &quot;You will need to use execute for that&quot;.

* Fixed-width font for &quot;up&quot; in &quot;should revert the transformations done by the up method&quot;.

* Several fixed-width font for &quot;up&quot; and &quot;down&quot; in &quot;The `down` method of your migration should revert the transformations done by the up method. In other words the database should be unchanged if you do an up followed by a down. For example if you create a table in the up you should drop it in the down method. It is wise to do things in precisely the reverse order to in the the up method.&quot;.

* Fixed-width font for &quot;down&quot; in &quot;you can raise IrreversibleMigration from your down method&quot;.


### _rakeing_around.txt ###


* Fixed-width font for &quot;up&quot; in &quot;In its most basic form it just runs the up method&quot;.

* In &quot;If you specify a target version. Active Record will run the required migrations&quot; the dot is a comma.

* &quot;will run all the up method&quot; should read &quot;will run all the `up` methods&quot;.

* Fixed-width font for &quot;down&quot; in &quot;this will run the down method&quot;.

* Fixed-width font for &quot;down&quot; in &quot;This will run the down method&quot;.

* Fixed-width font for &quot;down&quot; in &quot;will run the down method&quot;.

* I think it would be good to give a use case for db:migrate:redo.

* Fixed-width font for &quot;up&quot; and &quot;down&quot; in &quot;the corresponding migration will have its up or down method invoked&quot;.

* Fixed-width font for &quot;up&quot; in &quot;will run the up method from the 20080906120000 migration&quot;.


### _using_models_in_migrations.txt_ ###

* &quot;SQL&quot; in &quot;without writing out the sql by hand&quot;.

* &quot;not using&quot; in &quot;I'm notusing anything&quot;.


### _scheming.txt_ ###

* gsub!(&quot;sql&quot;, &quot;SQL&quot;)

* In &quot;Instead of using Active Record 's schema dumper&quot; remove space to the left of the apostrophe.

* &quot;will dumped&quot; should be I think &quot;will be dumped&quot;.

* &quot;postgresql&quot; -&gt; &quot;PostgreSQL&quot;.

* &quot;mysql&quot; -&gt; &quot;MySQL&quot;

* Since tables are incrementally defined one may wonder where to check models attributes, mention schema.rb and annotate_models?


### _foreign_keys.txt_ ###

* I think there's (or there was) some gotcha about destroying data in tests and FKs. If I recall it correctly AR just drops data without any particular order and FKs interfere there. I believe it would be worth exploring and documenting some workaround or best practice here. (Assuming the gotcha still exists.)


### Additional remarks ###

* Albeit not really about migrations, I think some coverage of rake db:create would kind of round the guide. It is related to db:reset which is indeed mentioned. It could say something about the grants of the user configured in database.yml as well, though perhaps wouldn't be necessary to explain database.yml itself, nor the keys used to configure databases.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Well done!&lt;/p&gt;
&lt;p&gt;I'd loved reading this guide and in fact learned a couple of
things. I like the content, wording, examples, and the original
titles of sections.&lt;/p&gt;
&lt;p&gt;I've noticed the edition &quot;ActiveRecord&quot; -&amp;gt; &quot;Active Record&quot;
from initial versions and overall my impression is that the guide
is converging.&lt;/p&gt;
&lt;p&gt;I just got a few suggestions and have compiled a list of very
small things like typos an such.&lt;/p&gt;
&lt;h3&gt;&lt;em&gt;migrations.txt&lt;/em&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;In &quot;Migrations also allow you to describe these transformations
using ruby&quot; the Ruby language has a capital &quot;R&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&quot;it's&quot; in &quot;its database independent&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed-width font for &quot;schema.rb&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;em&gt;anatomy_of_a_migration.txt&lt;/em&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;I love you started right away with an example.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed-width font for &quot;products&quot; in &quot;This migration adds a table
called products&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Capital &quot;R&quot; for the &quot;ruby&quot; in &quot;A migration is just a regular
ruby class&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I think an example that depicts setting values in a new column
using a model in the very migration would add here. Then, a pointer
to the proper later section would be useful as well.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;em&gt;creating_a_migration.txt&lt;/em&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Delete &quot; are also created&quot; in &quot;columns that are automatically
populated by Active Record are also created&quot;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;em&gt;writing_a_migration.txt&lt;/em&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fixed-width font for &quot;name&quot; and &quot;id&quot; in &quot;which creates a
products table with a column called name (and as discussed below,
an implicit id column)&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed-width font for &quot;execute&quot; in &quot;You will need to use execute
for that&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed-width font for &quot;up&quot; in &quot;should revert the transformations
done by the up method&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Several fixed-width font for &quot;up&quot; and &quot;down&quot; in &quot;The
&lt;code&gt;down&lt;/code&gt; method of your migration should revert the
transformations done by the up method. In other words the database
should be unchanged if you do an up followed by a down. For example
if you create a table in the up you should drop it in the down
method. It is wise to do things in precisely the reverse order to
in the the up method.&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed-width font for &quot;down&quot; in &quot;you can raise
IrreversibleMigration from your down method&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;_rakeing_around.txt&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fixed-width font for &quot;up&quot; in &quot;In its most basic form it just
runs the up method&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In &quot;If you specify a target version. Active Record will run the
required migrations&quot; the dot is a comma.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&quot;will run all the up method&quot; should read &quot;will run all the
&lt;code&gt;up&lt;/code&gt; methods&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed-width font for &quot;down&quot; in &quot;this will run the down
method&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed-width font for &quot;down&quot; in &quot;This will run the down
method&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed-width font for &quot;down&quot; in &quot;will run the down method&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I think it would be good to give a use case for
db:migrate:redo.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed-width font for &quot;up&quot; and &quot;down&quot; in &quot;the corresponding
migration will have its up or down method invoked&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed-width font for &quot;up&quot; in &quot;will run the up method from the
20080906120000 migration&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;em&gt;using_models_in_migrations.txt&lt;/em&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&quot;SQL&quot; in &quot;without writing out the sql by hand&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&quot;not using&quot; in &quot;I'm notusing anything&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;em&gt;scheming.txt&lt;/em&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;gsub!(&quot;sql&quot;, &quot;SQL&quot;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In &quot;Instead of using Active Record 's schema dumper&quot; remove
space to the left of the apostrophe.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&quot;will dumped&quot; should be I think &quot;will be dumped&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&quot;postgresql&quot; -&amp;gt; &quot;PostgreSQL&quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&quot;mysql&quot; -&amp;gt; &quot;MySQL&quot;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Since tables are incrementally defined one may wonder where to
check models attributes, mention schema.rb and annotate_models?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;em&gt;foreign_keys.txt&lt;/em&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I think there's (or there was) some gotcha about destroying
data in tests and FKs. If I recall it correctly AR just drops data
without any particular order and FKs interfere there. I believe it
would be worth exploring and documenting some workaround or best
practice here. (Assuming the gotcha still exists.)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Additional remarks&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Albeit not really about migrations, I think some coverage of
rake db:create would kind of round the guide. It is related to
db:reset which is indeed mentioned. It could say something about
the grants of the user configured in database.yml as well, though
perhaps wouldn't be necessary to explain database.yml itself, nor
the keys used to configure databases.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-11T00:17:16+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-11T00:17:23+01:00</updated-at>
      <user-id type="integer">11378</user-id>
      <user-name>Xavier Noria</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Wow Xavier, thanks for reading so closely! I've fixed/pushed the typo and similar sorts of corrections the ones where I need to do some thinking I'll do at some point later today.

Foreign keys: I think that's all been fixed  for a while - I use foreign keys all the time and haven't had any problems. AR disables referential integrity while loads fixtures and stuff like that. 

Your last point about scheming.txt - I'm not quite sure what you mean there.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Wow Xavier, thanks for reading so closely! I've fixed/pushed the
typo and similar sorts of corrections the ones where I need to do
some thinking I'll do at some point later today.&lt;/p&gt;
&lt;p&gt;Foreign keys: I think that's all been fixed for a while - I use
foreign keys all the time and haven't had any problems. AR disables
referential integrity while loads fixtures and stuff like that.&lt;/p&gt;
&lt;p&gt;Your last point about scheming.txt - I'm not quite sure what you
mean there.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-11T10:26:34+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-11T10:26:51+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Hey that was quick! :-)

What I mean in that last point is: AR models do not have their attributes declared in the source code, and the definition of the PRODUCTS table may be scattered in three migrations. So the question is where can I have a look at the current list of attributes of the Product class?

A database client is a solution, but I wondered whether it could be worth to mention in scheming.txt that schema.rb is a handy place where you can look at them. And to complete the remark perhaps mention the annotate_models plugin.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Hey that was quick! :-)&lt;/p&gt;
&lt;p&gt;What I mean in that last point is: AR models do not have their
attributes declared in the source code, and the definition of the
PRODUCTS table may be scattered in three migrations. So the
question is where can I have a look at the current list of
attributes of the Product class?&lt;/p&gt;
&lt;p&gt;A database client is a solution, but I wondered whether it could
be worth to mention in scheming.txt that schema.rb is a handy place
where you can look at them. And to complete the remark perhaps
mention the annotate_models plugin.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-11T10:57:31+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-11T10:57:41+01:00</updated-at>
      <user-id type="integer">11378</user-id>
      <user-name>Xavier Noria</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Ah, I get you! I'm not actually familiar with annotate_models, I'll have a look</body>
      <body-html>&lt;div&gt;&lt;p&gt;Ah, I get you! I'm not actually familiar with annotate_models,
I'll have a look&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-11T11:05:30+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-11T11:05:38+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>I've made those other changes.</body>
      <body-html>&lt;div&gt;&lt;p&gt;I've made those other changes.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-11T14:06:03+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-11T14:06:10+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>&quot;create_table :products, :options =&gt; &quot;ENGINE=InnoDB&quot; do |t|&quot;

Maybe it would be nice to mention that InnoDB, rather than MyISAM, is Rails's default when on MySQL.</body>
      <body-html>&lt;div&gt;&lt;p&gt;&quot;create_table :products, :options =&amp;gt; &quot;ENGINE=InnoDB&quot; do
|t|&quot;&lt;/p&gt;
&lt;p&gt;Maybe it would be nice to mention that InnoDB, rather than
MyISAM, is Rails's default when on MySQL.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-12T11:52:29+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-12T11:52:47+01:00</updated-at>
      <user-id type="integer">10679</user-id>
      <user-name>Hongli Lai</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Yup, don't see why not.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Yup, don't see why not.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-12T12:44:26+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-12T12:44:36+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>I've just thoroughly read your guide one last time. Be prepared for nitpicks. :)

&quot;rake&quot; -- should be &quot;Rake&quot;

&quot;and an error ensues.&quot; -- I think &quot;and an error ensues because that validation fails.&quot; would be nicer because it's more explicit.

&quot;On databases that support transactions with statements that change the schema&quot; -- I think it would be nice to specifically mention that PostgreSQL supports DDL transactions, seeing that Postgres is pretty popular. And I think &quot;Mysql&quot; should be &quot;MySQL&quot;. :)

&quot;There are two ways of the doing this.&quot; -- &quot;the&quot; should be erased.

&quot;The references helper does not actually create foreign key constraints for you. You will need to use execute for that.&quot; -- I think &quot;You will need to use execute for that, or a [link]foreign key support plugin[/link]&quot;

&quot;For more details and examples of individual methods check the API documentation.&quot; -- Please specifically refer to the ActiveRecord::ConnectionAdapters::SchemaStatements class and the ActiveRecord::ConnectionAdapters::TableDefinition class. SchemaStatements methods are available in the 'up' and 'down' methods while TableDefinition methods are available through the 't' object.

&quot;Almost all the functionality provided by other rake tasks could be done using db:migrate but would be more tedious (partly because of the long version numbers you would have to lookup and enter).&quot; - I don't really understand this statement. Could you clarify a little more?

&quot;Rather than track down the version number associated with the previous migration you can run&quot; -- I believe that &quot;track down&quot; here is grammatically incorrect and should be &quot;tracking down&quot;. Also, the examples that you show in that subsection, e.g. &quot;rake db:rollback&quot;, should be listing blocks.

&quot;this is not the same as running all the migrations - see the section on schema.rb).&quot; -- &quot;This&quot; should be capitalized, and the trailing &quot;)&quot; should be removed.

&quot;the current development database is dumped (either to schema.rb or development.sql) and then loaded.&quot; -- &quot;loaded into the test database.&quot; would be better.

&quot;These cannot however guarantee referential integrity&quot; -- I think you should explicitly mention that that's because nothing at application level can guarantee referential integrity, otherwise the reader might think the inability to guarantee integrity is caused by bugs or limitations in ActiveRecord. Everything above the database level is prone to racing conditions, unless they use expensive database locks.

&quot;(including support in schema.rb).&quot; -- should be &quot;(including support for dumping foreign keys to schema.rb).&quot;

Anyway, good job! I think the guide is as good as done, unless you or anyone else thinks otherwise.</body>
      <body-html>&lt;div&gt;&lt;p&gt;I've just thoroughly read your guide one last time. Be prepared
for nitpicks. :)&lt;/p&gt;
&lt;p&gt;&quot;rake&quot; -- should be &quot;Rake&quot;&lt;/p&gt;
&lt;p&gt;&quot;and an error ensues.&quot; -- I think &quot;and an error ensues because
that validation fails.&quot; would be nicer because it's more
explicit.&lt;/p&gt;
&lt;p&gt;&quot;On databases that support transactions with statements that
change the schema&quot; -- I think it would be nice to specifically
mention that PostgreSQL supports DDL transactions, seeing that
Postgres is pretty popular. And I think &quot;Mysql&quot; should be &quot;MySQL&quot;.
:)&lt;/p&gt;
&lt;p&gt;&quot;There are two ways of the doing this.&quot; -- &quot;the&quot; should be
erased.&lt;/p&gt;
&lt;p&gt;&quot;The references helper does not actually create foreign key
constraints for you. You will need to use execute for that.&quot; -- I
think &quot;You will need to use execute for that, or a [link]foreign
key support plugin[/link]&quot;&lt;/p&gt;
&lt;p&gt;&quot;For more details and examples of individual methods check the
API documentation.&quot; -- Please specifically refer to the
ActiveRecord::ConnectionAdapters::SchemaStatements class and the
ActiveRecord::ConnectionAdapters::TableDefinition class.
SchemaStatements methods are available in the 'up' and 'down'
methods while TableDefinition methods are available through the 't'
object.&lt;/p&gt;
&lt;p&gt;&quot;Almost all the functionality provided by other rake tasks could
be done using db:migrate but would be more tedious (partly because
of the long version numbers you would have to lookup and enter).&quot; -
I don't really understand this statement. Could you clarify a
little more?&lt;/p&gt;
&lt;p&gt;&quot;Rather than track down the version number associated with the
previous migration you can run&quot; -- I believe that &quot;track down&quot; here
is grammatically incorrect and should be &quot;tracking down&quot;. Also, the
examples that you show in that subsection, e.g. &quot;rake db:rollback&quot;,
should be listing blocks.&lt;/p&gt;
&lt;p&gt;&quot;this is not the same as running all the migrations - see the
section on schema.rb).&quot; -- &quot;This&quot; should be capitalized, and the
trailing &quot;)&quot; should be removed.&lt;/p&gt;
&lt;p&gt;&quot;the current development database is dumped (either to schema.rb
or development.sql) and then loaded.&quot; -- &quot;loaded into the test
database.&quot; would be better.&lt;/p&gt;
&lt;p&gt;&quot;These cannot however guarantee referential integrity&quot; -- I
think you should explicitly mention that that's because nothing at
application level can guarantee referential integrity, otherwise
the reader might think the inability to guarantee integrity is
caused by bugs or limitations in ActiveRecord. Everything above the
database level is prone to racing conditions, unless they use
expensive database locks.&lt;/p&gt;
&lt;p&gt;&quot;(including support in schema.rb).&quot; -- should be &quot;(including
support for dumping foreign keys to schema.rb).&quot;&lt;/p&gt;
&lt;p&gt;Anyway, good job! I think the guide is as good as done, unless
you or anyone else thinks otherwise.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-13T12:33:40+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-13T12:34:11+01:00</updated-at>
      <user-id type="integer">10679</user-id>
      <user-name>Hongli Lai</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Cool I'll make those changes. 

By &quot;Almost all the functionality provided by other rake tasks could be done using db:migrate but would be more tedious (partly because of the long version numbers you would have to lookup and enter&quot; I mean that you can replicate rake db:rollback by finding the appropriate version and running rake db:migrate VERSION=xxxx, similarly with :redo and so on. I can see that it's not very clear. Perhaps it will be clearer if I put a reworded version of this after the description of the relevant rake tasks.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Cool I'll make those changes.&lt;/p&gt;
&lt;p&gt;By &quot;Almost all the functionality provided by other rake tasks
could be done using db:migrate but would be more tedious (partly
because of the long version numbers you would have to lookup and
enter&quot; I mean that you can replicate rake db:rollback by finding
the appropriate version and running rake db:migrate VERSION=xxxx,
similarly with :redo and so on. I can see that it's not very clear.
Perhaps it will be clearer if I put a reworded version of this
after the description of the relevant rake tasks.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-13T16:53:05+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-13T17:17:47+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Forgot to say, I also think this is basically done (typos etc. aside).</body>
      <body-html>&lt;div&gt;&lt;p&gt;Forgot to say, I also think this is basically done (typos etc.
aside).&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-13T22:02:27+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-13T22:02:36+01:00</updated-at>
      <user-id type="integer">17477</user-id>
      <user-name>Frederick Cheung</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Yeah, agreed.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Yeah, agreed.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-09-13T22:18:23+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>new</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-13T22:18:30+01:00</updated-at>
      <user-id type="integer">11378</user-id>
      <user-name>Xavier Noria</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body></body>
      <body-html></body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-09-14T13:05:32+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- 
:state: new
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>resolved</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-14T13:06:00+01:00</updated-at>
      <user-id type="integer">1366</user-id>
      <user-name>Pratik</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Section 1.1 says &quot;Active Record provides methods that perform common data definition tasks in a database independent way (you'll read about them in detail later):&quot; but then most of those methods (like change_column or add_index) aren't explicitly discussed in the text - they're mentioned in passing or not at all. Seems like either 1.1 needs to be reworded, or else we need sections somewhere on the various methods.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Section 1.1 says &quot;Active Record provides methods that perform
common data definition tasks in a database independent way (you'll
read about them in detail later):&quot; but then most of those methods
(like change_column or add_index) aren't explicitly discussed in
the text - they're mentioned in passing or not at all. Seems like
either 1.1 needs to be reworded, or else we need sections somewhere
on the various methods.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-09-22T15:25:15+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>resolved</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-09-22T15:25:20+01:00</updated-at>
      <user-id type="integer">7211</user-id>
      <user-name>Mike Gunderloy</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>typo.

4.1. Rolling back

will run the down method ***fron*** the last 3 migrations</body>
      <body-html>&lt;div&gt;&lt;p&gt;typo.&lt;/p&gt;
&lt;p&gt;4.1. Rolling back&lt;/p&gt;
&lt;p&gt;will run the down method &lt;strong&gt;&lt;em&gt;fron&lt;/em&gt;&lt;/strong&gt; the last
3 migrations&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-02T05:46:05+00:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>resolved</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-11-02T05:46:10+00:00</updated-at>
      <user-id type="integer">18874</user-id>
      <user-name>ZhangJinzhu</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Typo fixed in the repo, thank you!</body>
      <body-html>&lt;div&gt;&lt;p&gt;Typo fixed in the repo, thank you!&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-02T13:56:56+00:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>resolved</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-11-02T13:57:01+00:00</updated-at>
      <user-id type="integer">11378</user-id>
      <user-name>Xavier Noria</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>How do you migrate the database on a production server with source control? Do you update the schema.rb file on the production server and then run db:reset? Should we not use db:migrate?</body>
      <body-html>&lt;div&gt;&lt;p&gt;How do you migrate the database on a production server with
source control? Do you update the schema.rb file on the production
server and then run db:reset? Should we not use db:migrate?&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-06T18:36:49+00:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- 
:tag: 
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>resolved</state>
      <tag>migrate production schema svn</tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-11-06T18:36:55+00:00</updated-at>
      <user-id type="integer">36690</user-id>
      <user-name>Your name</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Removing tags.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Removing tags.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-06T18:37:41+00:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- 
:tag: migrate production schema svn
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>resolved</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-11-06T18:37:45+00:00</updated-at>
      <user-id type="integer">36690</user-id>
      <user-name>Your name</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>&quot;Schema files are also useful if want a quick look at what attributes an Active Record object has.&quot;  should presumably be &quot;Schema files are also useful if you want a quick look at what attributes an Active Record object has.&quot;</body>
      <body-html>&lt;div&gt;&lt;p&gt;&quot;Schema files are also useful if want a quick look at what
attributes an Active Record object has.&quot; should presumably be
&quot;Schema files are also useful if you want a quick look at what
attributes an Active Record object has.&quot;&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-09T05:03:31+00:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- 
:tag: 
:title: Migrations guide
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>resolved</state>
      <tag>grammar</tag>
      <title>missing word &quot;you&quot;</title>
      <updated-at type="datetime">2008-11-09T05:03:34+00:00</updated-at>
      <user-id type="integer">28039</user-id>
      <user-name>Brandon Zylstra</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body></body>
      <body-html></body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-09T05:04:32+00:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- 
:tag: grammar
:title: missing word &quot;you&quot;
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>resolved</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-11-09T05:04:35+00:00</updated-at>
      <user-id type="integer">28039</user-id>
      <user-name>Brandon Zylstra</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>There is a comma missing in this sentence:

    As such features such as triggers or foreign key constraints, which push some of that intelligence back into the database are not heavily used.

This might sound like a nit-pick, but it is much clearer with the comma:

As such, features such as triggers or foreign key constraints, which push some of that intelligence back into the database are not heavily used.</body>
      <body-html>&lt;div&gt;&lt;p&gt;There is a comma missing in this sentence:&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;As such features such as triggers or foreign key constraints, which push some of that intelligence back into the database are not heavily used.
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;This might sound like a nit-pick, but it is much clearer with
the comma:&lt;/p&gt;
&lt;p&gt;As such, features such as triggers or foreign key constraints,
which push some of that intelligence back into the database are not
heavily used.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-09T05:15:18+00:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>resolved</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-11-09T05:15:22+00:00</updated-at>
      <user-id type="integer">28039</user-id>
      <user-name>Brandon Zylstra</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Thank you Brandon, I revised both details in the repo.

Please, if you liked to be able to fix docs yourself join docrails! Just drop a line to Pratik.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Thank you Brandon, I revised both details in the repo.&lt;/p&gt;
&lt;p&gt;Please, if you liked to be able to fix docs yourself join
docrails! Just drop a line to Pratik.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-09T09:12:56+00:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>resolved</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-11-09T09:13:00+00:00</updated-at>
      <user-id type="integer">11378</user-id>
      <user-name>Xavier Noria</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Some things I think need to be added to this migrations guide is a explanation of the options for columns in the create_table and add_column migrations, like:

:limit =&gt; 12
:default =&gt; 23
:default =&gt; false (on boolean columns)
:precision =&gt; 15, :scale =&gt; 3 (on decimal columns)

etc.

I see :null =&gt; false in there, but that's it. They are optional, but certainly helpful if you're making a string column that only needs 5 characters, that it's known you can use :limit =&gt; 5 if you want.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Some things I think need to be added to this migrations guide is
a explanation of the options for columns in the create_table and
add_column migrations, like:&lt;/p&gt;
&lt;p&gt;:limit =&amp;gt; 12 :default =&amp;gt; 23 :default =&amp;gt; false (on
boolean columns) :precision =&amp;gt; 15, :scale =&amp;gt; 3 (on decimal
columns)&lt;/p&gt;
&lt;p&gt;etc.&lt;/p&gt;
&lt;p&gt;I see :null =&amp;gt; false in there, but that's it. They are
optional, but certainly helpful if you're making a string column
that only needs 5 characters, that it's known you can use :limit
=&amp;gt; 5 if you want.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-25T19:32:39+00:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>resolved</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2008-11-25T19:32:42+00:00</updated-at>
      <user-id type="integer">27230</user-id>
      <user-name>Bill Turner</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer" nil="true"></assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>5.1 Dealing With Changing Models

In the code example:

    add_column :product, :part_number, :string

Should read:

   add_column 'product', :part_number, :string

or rake will fail.

Tiny nit-pick about use of English in the same section:
&quot;...model to insert a new row it may try and use the old column information.&quot; Should be &quot;try to&quot;, not &quot;try and&quot;.</body>
      <body-html>&lt;div&gt;&lt;p&gt;5.1 Dealing With Changing Models&lt;/p&gt;
&lt;p&gt;In the code example:&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;add_column :product, :part_number, :string
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Should read:&lt;/p&gt;
&lt;p&gt;add_column 'product', :part_number, :string&lt;/p&gt;
&lt;p&gt;or rake will fail.&lt;/p&gt;
&lt;p&gt;Tiny nit-pick about use of English in the same section:
&quot;...model to insert a new row it may try and use the old column
information.&quot; Should be &quot;try to&quot;, not &quot;try and&quot;.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2009-05-04T09:58:57+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- 
:state: resolved
:assigned_user: 1366
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state nil="true"></state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2009-05-04T09:59:01+01:00</updated-at>
      <user-id type="integer">55960</user-id>
      <user-name>FelixLeiter</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name nil="true"></assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Hey, using symbols for table names certainly works. We've edited the &quot;try and&quot; though http://github.com/lifo/docrails/commit/912da7fb98cfdabe68477db146eaf25bb98f0f7e

Thanks!</body>
      <body-html>&lt;div&gt;&lt;p&gt;Hey, using symbols for table names certainly works. We've edited
the &quot;try and&quot; though &lt;a href=&quot;http://github.com/lifo/docrails/commit/912da7fb98cfdabe68477db146eaf25bb98f0f7e&quot;&gt;
http://github.com/lifo/docrails/...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2009-05-04T20:18:01+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- 
:assigned_user: 
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state nil="true"></state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2009-05-04T20:18:06+01:00</updated-at>
      <user-id type="integer">11378</user-id>
      <user-name>Xavier Noria</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>One link in chapter &quot;7 Active Record and Referential Integrity&quot; does not work.

&quot;There are also a number of plugins such as _redhillonrails_ which add foreign key support to Active Record (including support for dumping foreign keys in db/schema.rb)&quot;

Link could be fixed to e.g. http://github.com/harukizaemon/foreign_key_migrations/ (best i could find)

In addition, there could be a link to foreign_key_migrations plugin (http://github.com/harukizaemon/foreign_key_migrations) inside the parentheses. That plugin brings the support for dumping foreign keys in db/schema.rb.</body>
      <body-html>&lt;div&gt;&lt;p&gt;One link in chapter &quot;7 Active Record and Referential Integrity&quot;
does not work.&lt;/p&gt;
&lt;p&gt;&quot;There are also a number of plugins such as
&lt;em&gt;redhillonrails&lt;/em&gt; which add foreign key support to Active
Record (including support for dumping foreign keys in
db/schema.rb)&quot;&lt;/p&gt;
&lt;p&gt;Link could be fixed to e.g. &lt;a href=
&quot;http://github.com/harukizaemon/foreign_key_migrations/&quot;&gt;http://github.com/harukizaemon/foreign_key_migrations/&lt;/a&gt;
(best i could find)&lt;/p&gt;
&lt;p&gt;In addition, there could be a link to foreign_key_migrations
plugin (&lt;a href=
&quot;http://github.com/harukizaemon/foreign_key_migrations&quot;&gt;http://github.com/harukizaemon/foreign_key_migrations&lt;/a&gt;)
inside the parentheses. That plugin brings the support for dumping
foreign keys in db/schema.rb.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2009-06-29T22:46:36+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state nil="true"></state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2009-06-29T22:46:38+01:00</updated-at>
      <user-id type="integer">48866</user-id>
      <user-name>holli</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Link updated, thank you!</body>
      <body-html>&lt;div&gt;&lt;p&gt;Link updated, thank you!&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2009-07-02T13:59:09+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- 
:state: 
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>published</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2009-07-02T13:59:16+01:00</updated-at>
      <user-id type="integer">11378</user-id>
      <user-name>Xavier Noria</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Something that should be added to the migrations page: `rename_table`

I'd be happy to add it myself, but it'd probably be a small enough change for someone who already has access to make.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Something that should be added to the migrations page:
&lt;code&gt;rename_table&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I'd be happy to add it myself, but it'd probably be a small
enough change for someone who already has access to make.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2009-08-24T20:28:00+01:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>published</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2009-08-24T20:28:02+01:00</updated-at>
      <user-id type="integer">33958</user-id>
      <user-name>Zach Hale</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Sometimes, students finish the english dissertation by their own efforts. But some of them like to buy the useful theme close to this good post from the &lt;a href=&quot;http://www.master-dissertations.com&quot;&gt;thesis&lt;/a&gt; service, just because it&#8217;s more easy.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Sometimes, students finish the english dissertation by their own
efforts. But some of them like to buy the useful theme close to
this good post from the &lt;a href=
&quot;http://www.master-dissertations.com&quot;&gt;thesis&lt;/a&gt; service, just
because it&amp;#8217;s more easy.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2010-01-30T05:40:23+00:00</created-at>
      <creator-id type="integer">1366</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">6</number>
      <permalink>migrations-guide</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">16213</project-id>
      <state>published</state>
      <tag nil="true"></tag>
      <title>Migrations guide</title>
      <updated-at type="datetime">2010-01-30T08:48:26+00:00</updated-at>
      <user-id type="integer">84603</user-id>
      <user-name>CHLOE18nL</user-name>
      <creator-name>Pratik</creator-name>
      <assigned-user-name>Pratik</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/16213/tickets/6</url>
    </version>
  </versions>
</ticket>
