[Catalyst] Re: recommendation

Octavian Rasnita orasnita at gmail.com
Sun Nov 16 10:13:56 GMT 2008


From: "Bernhard Graf" <catalyst3 at augensalat.de>
>> mydate date(10)
>
> Simply don't specify the size for date/datetime/tim fields.
> Can be counted as a bug at least for MySQL and SQLite (Pg seems OK).
>
>> and the enum() field doesn't remember the field elements.
>> The field elements for enum field types are not saved in the DBIC
>> class file when the classes are created using the Catalyst helper.
>>
>> So when the SQL string is re-created, it looks something like:
>>
>> members enum()
>>
>> which of course, gives an error when trying to update the database.
>
>  xyz => {
>    data_type => 'enum',
>    extra => {list => [qw(foo bar baz)]}
>  }
>
> -- 
> Bernhard Graf

Aha, so actually you are saying that the DBIC::Schema Catalyst helper 
doesn't create a complete and valid schema, and I must edit it manually.

But if I'll edit it manually, I would break the checksum.

I must say that I don't understand what is that checksum used for if the 
recommended way is to use the Catalyst helper only once for creating the 
DBIC schema, then alter the database from it.

Do I understand correctly that:

1. That checksum is useful for those who don't need to use special 
components or settings in the class file and want to make changes in the 
database then update the DBIC classes from the database using the Catalyst 
helper.

2. That checksum has no value for those who need to use some components and 
configuration that can't be done by the Catalyst helper, and they should use 
the Catalyst helper only once (if they want) for creating the DBIC classes, 
then they can make any changes they want in them, without needing to put 
those changes below the checksum only, and without needing to use a BEGIN {} 
block.
So they can make the necessary correction after creating the DBIC classes, 
and then alter the database from those classes.

I was confused by the thing that a year or so ago there was no checksum 
defined in the DBIC classes, but that constraint appeared recently, so I 
thought that using the Catalyst helper for updating the DBIC classes was the 
recommended way.

Thank you.

Octavian




More information about the Catalyst mailing list