[Nitro] [OG] - Automated table modification / extension

Dan Yoder dan at zeraweb.com
Sun Apr 17 09:21:07 EDT 2005

All -

1. I think it needs be somewhat of a given that criticisms or questions 
or whatever have a built in disclaimer that, hey, it is great that this 
framework is being developed, and i would offer this as a patch or 
something if could, but I lack the time/understanding/etc. to do so ... 
G. has, I think, been very much in this spirit in handling all our 

2. As to the feature request for add/remove property, I think the 
entire schema migration issue is crucial. Already, Og differentiates 
itself from any alternative Ruby persistence frameworks in the fact 
that it is driven from the Ruby model and will automatically create the 
required tables. Adding automatic schema migration (and appropriate 
exceptions in the cases where this results in loss of data or is 
ambiguous) would cement Og's position as the emerging premier 
persistence solution in Ruby.

3. That said, I've tried to build such a thing (not in Ruby, but ...) 
and it isn't easy to get right. (How do you handle a field name change, 
for example?) This is why some folks find the database-driven (instead 
of Ruby driven) approach so appealing. You make the change in the 
database and you're done. Of course, this only actually works for 
simple examples or if you start using views, etc. It is worth 
considering whether the work involved in defining a view is any 
different than simply manually adding or removing fields.

4. In other words, this is a really cool feature request, but I am not 
so sure it is a very high priority.

Just my two cents.

p.s. I do think at some point (probably soon, based on the downloads) 
it will become important for Nitro to upgrade its image (Web sites, 
etc.). I would imagine that's in G's master plan. Awhile back, he 
talked to this issue in a post, and if I recall correctly, there were a 
few releases coming with crucial features, at which point some effort 
was going to be put into documentation, etc.

Dan Yoder
cell: 512-699-9866
email: dan at zeraweb.com

On Apr 16, 2005, at 1:28 PM, Ilias Lazaridis wrote:

> George Moschovitis wrote:
>>>> If you are designing your application just drop the database and let
>>>> og create the tables again.
>>> this is inconvenient.
>> not at all... takes 5 seconds.
> .
>>>> If you your application is live (in
>>>> production) you have to manually alter the table.
>>> inconvenient, too.
>> well I agree, (but it takes about a min)
> .
>>>> An older version of Og had an alter method that tried to 
>>>> automatically
>>>> alter the table to much the updated class definition. I 'll
>>>> reimplement this funtionality (or perhaps someone can send me a
>>>> patch).
>>> this functionality is essential.
>> I agree...
> ok, very nice.
>>> I hope this can be re-implemented soon, at least for simple
>>> modifications, like "add property", "remove property" or "change
>>> property type/size" etc.
>> Will do :)
> ok, very nice.
> can you please tell me when you expect to have this included?
> [I'm not yet ready to write code in ruby - otherwise I would 
> contribute this or assist you]
>> thanks for the tips.
> you're welcome.
> please let me know if you need further information, e.g. 
> implementation suggestions.
> .
> -- 
> http://lazaridis.com
> _______________________________________________
> Nitro-general mailing list
> Nitro-general at rubyforge.org
> http://rubyforge.org/mailman/listinfo/nitro-general

More information about the Nitro-general mailing list