This doesn''t seem to work on mysql, at least. We depend on this functionality as we''re porting an old app over to rails; does anyone know where I can find out how to disable the magic going on here? For fixture a: a: id: 0 stuff: "stuff" If ''id'' is the primary key, it will be autoincremented upon each load, so that the first load it will be ''1'', then ''2'', so on. I want it to be ''0''. :) Casting to string and other voodoo (such as ERB) do not have any effect; the fixture code is obviously checking for ''0'' and using the sequence instead. Any pragmatic advice (yes, we desperately want to get rid of things like this, but that''s not pragmatic right now as the database has to run against both platforms ATM) would be greatly appreciated. Thanks! -Erik -- Posted via http://www.ruby-forum.com/.
On May 25, 11:15 am, Erik Hollensbe <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> This doesn''t seem to work on mysql, at least. We depend on this > functionality as we''re porting an old app over to rails; does anyone > know where I can find out how to disable the magic going on here? >I don''t think this isn''t a rails thing (at least I can see anything in the fixtures code for that). on the other hand, the mysql documentation says: http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_no_auto_value_on_zero>Normally, you generate the next sequence number for the column by inserting either NULL or 0 into it. > NO_AUTO_VALUE_ON_ZERO suppresses this behavior for 0 so that only NULL generates the next sequence number.Fred> For fixture a: > > a: > id: 0 > stuff: "stuff" > > If ''id'' is the primary key, it will be autoincremented upon each load, > so that the first load it will be ''1'', then ''2'', so on. > > I want it to be ''0''. :) Casting to string and other voodoo (such as ERB) > do not have any effect; the fixture code is obviously checking for ''0'' > and using the sequence instead. > > Any pragmatic advice (yes, we desperately want to get rid of things like > this, but that''s not pragmatic right now as the database has to run > against both platforms ATM) would be greatly appreciated. Thanks! > > -Erik > -- > Posted viahttp://www.ruby-forum.com/.
Frederick Cheung wrote:> On May 25, 11:15�am, Erik Hollensbe <rails-mailing-l...@andreas-s.net> > wrote: >> This doesn''t seem to work on mysql, at least. We depend on this >> functionality as we''re porting an old app over to rails; does anyone >> know where I can find out how to disable the magic going on here? >> > > I don''t think this isn''t a rails thing (at least I can see anything in > the fixtures code for that). on the other hand, the mysql > documentation says: > http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_no_auto_value_on_zero > >>Normally, you generate the next sequence number for the column by inserting either NULL or 0 into it. >> NO_AUTO_VALUE_ON_ZERO suppresses this behavior for 0 so that only NULL generates the next sequence number. > > FredWow; nice catch. I guess my development environment differed from production. Thanks so much! -- Posted via http://www.ruby-forum.com/.