[Dbix-class] Re: Versioned Cluelessness

Christopher Laco claco at chrislaco.com
Mon Jul 28 03:01:00 BST 2008


Wade.Stuart at fallon.com wrote:
> Christopher Laco <claco at chrislaco.com> wrote on 07/26/2008 07:16:48 PM:
> 
>> Dagfinn Ilmari Mannsåker wrote:
>>> Jess Robinson <castaway at desert-island.me.uk> writes:
>>>
>>>> Long old thread but, feel like adding 2cents..
>>>>
>>>> On Tue, 8 Jul 2008, Christopher H. Laco wrote:
>>>>
>>>>> No: perl -MMySchema -e 'MySchema->connect(...)->deploy' does not
> count
>>>>> as user friendly.
>>> [?]
>>>> Also I'm a bit surprised at this moaning, you know the drill.. If
>>>> someone alerady wanted these, they'd be written by now, so I guess
>>>> you're the only one that felt this way so far.. go do something about
> it.
>>> You mean a command like "dbicdeploy"? Yeah, shame it doesn't exist,
>>> somebody really should write something like that. Oh, wait, someone
> did:
>>> <http://search.cpan.org/perldoc?dbicdeploy>.
>>>
>>> jrockway++
>> Yeah, in another dist. How friendly. Like I said before, this is not a
>> personal attack on anyone here. I do use Perl as my first language.
>>
>> But this attitude is EXACTLY what I'm talking about. It's offputting and
>> completely in denial that a lot of cat/dbic shit could be a hell of a
>> lot easier compaired to other Frameworks.
>>
> 
> The attitude could be softened a bit,  I agree. but the answer is really
> valid.  Cat is a framework,  it is not intended for end users; 


Hmmm.

http://www.rubyonrails.org/
"Rails is a full-stack framework"

http://cakephp.org/
"CakePHP is a rapid development framework"

http://www.djangoproject.com/
"Django is a high-level Python Web framework"


Yup. All frameworks. All not meant for end users, yet they manage to 
make things a lot easier for the new user, or the people trying to 
figure out which framework to go with.


  it is
> intended for developers.  If you are writing a app with Cat and you need to
> have an installer or test -> prod transition toolchain I think most
> developers would write a wrapper script that works for their environment
> and does a bit more than deploy().   If you are publishing an app and need
> an installer kit,  same deal.  There is more to do then run a generic db
> deploy script.  If you are a developer and just want to deploy,  'perl
> -MMySchema -e 'MySchema->connect(...)->deploy'' seems easy enough for a
> perl developer.  I guess I am wondering what usage senerio you are trying
> to fix with the deploy command line?
> 
> -Wade



Not everyone, esp when trying to decide on what framework to use, is 
going to get perl -M -e and being an uber perl master from day one.

Here's the usage scenarios I'm trying to fix:

 > cake schema run create
 > manage.py syncdb
 > rake db:migrate

Things like deploy/upgrade are a lot easier and more obvious in other 
frameworks. Yes, DBIC isn't Catalyst, but Cat Tuts push DBIC. It is the 
defacto ORM.

We talk about things like C:Model::DBIC, yet if you want to use things 
like CatX::CRUD, they're not compatible models..forcing the user to 
abandon one path for another. This is compared to other offerings that 
just make shit happen for the user form the start.

I understand people want choice. I understand the Perl community likes 
TIMTOWTDI. I understand people/dists/groups not wanting to force 
decisions on users.

But from the perspective of looking at what's out there and having to 
make decisions on which project to do with, Cat+DBIC are really turning 
into something that is the least user friendly of all of them.

 >>> You mean a command like "dbicdeploy"? Yeah, shame it doesn't exist,
 >>> somebody really should write something like that. Oh, wait, someone
 > did:

is not an appropriate answer for a new user or Catalyst or DBIC. It's an 
attitude. Why isn't that part of dbicadmin? Why doesn't Cat roll that 
into script/? Why doesn't a fresh Cat app automatically create 
MyApp::Schema, or at least make it easiser to do so?

Look, I think DBIC and Cat are awesome things (God Bless Chained), but 
they're far from new-user friendly and they could use a substantial 
amount of glue and gloss to fill in the holes. The real question is 
whether that can happen, or we get mired in debate about 'they can just 
download 5 other things to do the same thing'



More information about the DBIx-Class mailing list