From: Austin Ziegler Date: 2006-09-13T03:47:59+09:00 Subject: Re: Joel Spolsky on languages for web programming On 9/12/06, Jonas Hartmann wrote: > cant u run RoR with postgre sql adapter already? thought you could... > > disadvantages? Sure you can. You can even run it with an Oracle adapter. But there are design decisions made by the core Rails team based on the way that MySQL does things -- and the way that MySQL does things is flat out *wrong*. This isn't a matter of one technical opinion vs. another. This is a matter of incorrect implementation and basing one's preferred behaviour on that incorrect implementation. IMO, DHH has an (illogical) opposition to foreign key handling in Rails because MySQL can't do squat with it. (SQLite is no better on that front, not even recording them as notes, but at least SQLite has the excuse that it isn't trying to be a full SQL implementation. MySQL has pretended to be that for years and has implemented a tiny fraction of the standard to date.) SQL databases suck, but MySQL implements SQL so badly that it shouldn't even be called an SQL database. Basically, you can use any database you want behind ActiveRecord, but ActiveRecord itself is going to treat it as if it were MySQL. You'll get none of the advanced features from your *real* database. And that's a shame, because -- as I said -- ActiveRecord does so *much* right and could do it even cleaner if it used the facilities in the database. (For example, there's no built in way to create a foreign key in migrations. This is inexcusable despite DHH's opposition, because good database design demands foreign keys. Not using them is a half-assed mockery of database design. On those platforms which don't support foreign keys, like MySQL and SQLite, make foreign key operations null.) I'll use Rails, to be sure. I just used it this past weekend -- and I used it on MySQL (long story again with no excusable reasons why I couldn't have used something more intelligent). But MySQL is an absolute dog that shouldn't be used if you want any kind of data integrity. -austin -- Austin Ziegler * halostatue@gmail.com * http://www.halostatue.ca/ * austin@halostatue.ca * http://www.halostatue.ca/feed/ * austin@zieglers.ca