On Sun, May 19, 2013 at 11:51 PM, Scott Anderson <scottanderso...@gmail.com> wrote: > On Sunday, May 19, 2013 11:18:07 AM UTC-4, WongoBongo wrote: >> >> You don't have to become an expert with postgres to use Django. You can do >> most of the db development using SQLite and hold off on postgres until you >> are ready to deploy. > > > > I highly recommend *against* waiting for PostgreSQL until deployment. There > are significant differences between SQLite, PostgreSQL, and MySQL. If you > wait until deployment to test on your production database you will find > yourself fixing and changing things at the last minute. Start testing on > your production deployment database as soon as possible.
The purpose of using an ORM is to make your application database agnostic. You should not find that changing DB engine is overly taxing. > > Even if you are using an ORM there are enough differences between the > databases (and/or their drivers!) that you can run into issues. Four > examples of MySQL vs. SQLite, but the same recommendation holds true for > PostgreSQL as well: > > 1) MySQL truncates DateTimeFields to the second; SQLite stores the > milliseconds. > > 2) SQLite can re-use keys if a row is deleted; MySQL will not. This can > affect unit tests. > > 3) Each database may use a different natural order when no ORDER BY is used. > > 4) SQLite allows 0 as a PK, MySQL does not. > > Also, you'll benefit from the exercise of setting up and using the same > database you'll see in production. > Not all of these statements are wholly accurate, mysql will re-use keys when necessary (but doesn't try to 'back fill' the set of used ids), and mysql is also perfectly happy with 0 as a primary key, but will replace it with the next auto increment id if the field is an auto increment field. There is no 'natural ordering' of un-ordered results, the order is undefined, and undefined behaviour is undefined. The point is, installing and learning the ins and outs of an RDBMS is not necessary to using Django. If you think you are stuck trying to install or understand postgres, just ignore it and use sqlite. You can always change at a later date. Cheers Tom -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.