Yes - 100% of the migrations methods, including all of the sexy
migration syntax is included, including the lesser known belongs_to/
references, timestamps etc...

Although it's inconsistent with the existing API, I suppose something
like t.rename_table_to :new_name would be the nicest to look at, but I
could also just leave them out entirely.  It would be confusing to
have rename_table take a single argument in some places, and 2 in
another.

Thanks for the feedback.

On Apr 29, 12:41 pm, "Mislav Marohnić" <[EMAIL PROTECTED]>
wrote:
> Don't send pull requests to "rails" user, it's a black hole.
>
> I like change_table. But I don't like t.rename/t.drop.
> I would rather stick with rename_table/drop_table.
>
> Also, does change_table support adding column with sexy migrations syntax?
>
>   change_table :videos do |t|
>     t.string :foo, :bar
>   end
>
> Because create_table does, change_table should too.
>
> On Tue, Apr 29, 2008 at 5:52 PM, zilkey <[EMAIL PROTECTED]> wrote:
>
> > [for those of you who already got a pull request about the
> > change_table block I apologize for the double post - I'm still
> > figuring out github / mailing list etiquette]
>
> > I just created a fork of rails in which I added the ability to define
> > change_table blocks like so:
>
> >    change_table :videos do |t|
> >      t.add_timestamps
> >      t.add_belongs_to :goat
> >      t.add_string :name, :email, :limit => 20
> >      t.remove_column :name, :email # => takes an array
> >      t.rename
> >      t.string :some_string # => executes against the renamed table
> >    end
>
> > The change involved lots of docs and a 1:2.6 code:test ratio so it
> > looks like a lot of code, but at the heart of it it's about 90 lines
> > of methods that wrap standard migration actions but pass the table
> > name in.  It's almost purely a syntax update - the only real change is
> > that remove_column now takes an array.
>
> > The need it fills
>
> > This is a very blue-collar developer kind of fork.  It's or people
> > that work with lots of small projects, who work with legacy databases
> > or databases that are being denormalized, who integrate other apps
> > like Beast often etc...  It also adds some sugar for people who are
> > developing plugin apps that would benefit from having migrations that
> > don't always create tables.
>
> > Basically I find myself writing change statements more often than
> > writing create blocks, and this dries all of that up.
>
> > Strong points
>
> > It's well tested and documented and for the most part very consistent
> > with other migration syntax - with one naming issue which I'll mention
> > below.  It's analogous to the form helpers where they stand alone with
> > a type, or can be built as part of a block.
>
> > As far as naming goes it mimics both the create_table and the change
> > methods:
>
> > * t.column => t.add_column
> > * t.timestamps =>  t.add_timestamps
> > * t.string => t.add_string
>
> > If the method ended in _table, I took off _table, so there are also
> > these 2 methods:
>
> > * t.rename
> > * t.drop
>
> > stephencelis brought up to me the fact that "rename" could be a bit
> > confusing at first, since it's no longer unambiguous - so the three
> > options seem to be.  I've got 2 apps going now where I create a table,
> > dump a bunch of data into it from various sources and then drop it,
> > all in the up method, and I've used "drop" in a block in a real app,
> > which is why I included it.
>
> > Would anyone else find these shortcuts helpful?  That is, would you
> > pull it into your git repo, or install it as a gem?
>
> > I sent out a pull request to the people who were watching the github
> > rails repo, but from the response I gather that pull requests are not
> > the way to go, so as a second question - how should I go about
> > submitting patches now?  Are people still doing the +1 on tickets?
>
> > Sorry again for those of you who are getting this for the second time.
>
> > Jeff Dean
>
> >http://github.com/zilkey/rails/commit/674e950c820f6171288f12cf8ba59b5...
> >http://github.com/zilkey/rails/wikis
> >http://ar.zilkey.com/
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to