On Saturday 13 May 2006 10:17, Angela Byron wrote:
Dries Buytaert wrote:
How can you understand the table definition proposed by Adrian (see below), if you don't know any SQL? I don't think this gets you up to speed any more quickly. Quite the contrary, you'd first have to learn SQL and then you have to figure out how this Drupal specific definition format maps onto it. Make no mistake, a Drupal-specific definition language is no excuse for not having to learn MySQL. It does add an additional step to the learning curve!
This is a very good point, and something I don't think a lot of us have considered while proposing this.
But I have a question... would the introduction of db_create_table() mean removing the ability to just continue copy/pasting PHPMyAdmin dumps into db_query()? Or are we simply proposing some additional API functions for developers who wish to write portable SQL code in an easy way?
Precisely. Adding db_create_table() in no way needs to make db_query("CREATE TABLE...") stop working. Adding .install files hasn't made the old .mysql files suddenly not work. MANY contrib modules still use them, and they work perfectly fine. They just look silly for users because they've an extra step in installing that module. Similarly, if Joe Contrib (to abuse a theme) decides to keep using a switch statement and db_query() in his .install file, that won't break unless he's on a host where the normal db user doesn't have create table permissions, in which case we've already just broken him anyway. It's just more work for him to not use the newer functions. It's less of a difference for the user than if he were using the old .mysql files instead. And if someone else comes across such a module and is annoyed by it, it's all GPLed, so they can scratch that itch and tweak the file. That's already happened to several contrib modules, as I understand it, to add .install files. Unlike Form API, we're not breaking backward compatibility with table-manipulation functions. The old methods will still work, just be no longer the recommended way. That sounds like a win-win to me. -- Larry Garfield AIM: LOLG42 larry@garfieldtech.com ICQ: 6817012 "If nature has made any one thing less susceptible than all others of exclusive property, it is the action of the thinking power called an idea, which an individual may exclusively possess as long as he keeps it to himself; but the moment it is divulged, it forces itself into the possession of every one, and the receiver cannot dispossess himself of it." -- Thomas Jefferson