I have to disagree that Django supports these backends equally well.
I've just been bitten badly by the 'dumpdata <app>' 'loaddata <app>'
problems with MySQL and innodb.  I originally decided to go with MySQL
(familiarity, for the most part).  Using MyIsam tables is not an
option for me, I need the transaction support.

In an app with no circular references or anything scary, I have a
model with several foreign keys.  When I dumpdata, the created fixture
dumps that model first, followed by the referenced tables.  As innodb
doesn't support deferment of foreign key constraint checking until the
end of the transaction, loaddata fails.  I must go in and edit the
fixture to move the data for the referencing table after the data for
the referenced tables to get loaddata to work.

Of course, it quickly becomes obvious that editing the output of
dumpdata is a bear with any significant amount of data or an app of
any complexity.  As there is no way to specify the order of tables for
dumpdata, and apparently dumpdata doesn't attempt to dump referenced
tables first, this is quite a problem for MySQL users.

Dumpdata and loaddata are just too important to forgo, especially when
setting up test implementations and evolving a database.  Speaking of
evolving, django-evolution has many issues with MySQL versus
postgress.  I've therfore decided to bite the bullet and switch to
postgres...

For me that has it's own implications... While it is installed on the
server, my host does not support it officially, and thus I am on my
own administering it.  Now, at a point where I am hard-pressed for
time, I am explaining to my clients that I've needed to make a change
to the backend, and am hustling to become proficient enough in
postgres to get the project back on track.

In short, I don't think it is fair to say that Django supports all db
backends equally.  I wish that early on, when choosing Django, I had
been led definitively down the postgres path.

On Jun 18, 11:46 am, "Jacob Kaplan-Moss" <[EMAIL PROTECTED]>
wrote:
> On Wed, Jun 18, 2008 at 9:55 AM, xhenxhe <[EMAIL PROTECTED]> wrote:
> > This may be a loaded question, but I was reading a blog post that
> > postgresql is the preferred database for Django. Is this true? If so,
> > why?
>
> Not exactly. Django works equally well with all the databases we
> support -- we wouldn't claim support for a database that didn't work
> somehow. Nor is Django itself "opinionated" in this manner; neither
> the software nor its developers give a hoot what database you use.
> Engrave all your data in stone tablets; doesn't bother me!
>
> That said, many of the Django core developers -- me included -- do
> prefer Postgres for our own work. Its emphasis on data integrity and
> SQL standards along with the radically open development model I think
> appeal to our feelings about software design and Open Source.
>
> Jacob
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to