Dan, > >> With SQLite3, the db any field that is defined as INTEGER PRIMARY KEY is >> auto-populated during record creation. The presence or absence of the >> AUTOINCREMENT keyword only serves to determine which algorithm is used >> to generate the next value. According to the SQLite3 website, it's >> better to not use the AUTOINCREMENT keyword unless necessary for a >> particular design, as it causes more work for the database. I would >> submit that the default Serial type for SQLite3 should be INTEGER NOT >> NULL PRIMARY KEY. Here's a link for more >> info:http://www.sqlite.org/autoinc.html > > Ahh, this is good to know. Can you submit a ticket at > http://datamapper.lighthouseapp.com/ to have this looked into > further? I'm fine with changing it provided it doesn't change the > observable behavior of any apps or plugins. >
Done. Here's a link: http://datamapper.lighthouseapp.com/projects/20609-datamapper/tickets/687-autoincrement-should-not-be-default-for-sqlite3-serial-type >>> The second statement above appears to be the same as what's generated >>> for: property :id, Integer, :key => true >> Not quite. property :id, Integer, :key => true generates this: >> id INTEGER NOT NULL, PRIMARY KEY(id) >> >> Note that in this case, the PRIMARY KEY is defined on the table, not on >> the column. Whether or not this makes any real difference in DM or the >> db, I don't know. > > The reason for this is that DM assumes all a PKs or FKs can be more > than one column, so it defines the PRIMARY KEY on the table rather > than on the column. > That makes sense. Earle --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "DataMapper" group. To post to this group, send email to datamapper@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/datamapper?hl=en -~----------~----~----~----~------~----~------~--~---