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
-~----------~----~----~----~------~----~------~--~---

Reply via email to