[Dbix-class] add_unique_constraint
Ascii King
tech at swattermatter.com
Thu Jun 4 14:29:31 GMT 2009
Carl Franks wrote:
> 2009/6/3 Ascii King <tech at swattermatter.com>:
>
>> I am a rookie programmer trying to set up a web database. I am having
>> trouble understanding how to get the add_unique_constraint working. I am
>> using Catalyst and FormFu and I cannot get the method working as i expect. I
>> added the following line to my Schema file:
>>
>> # Created by DBIx::Class::Schema::Loader v0.04004 @ 2009-05-14 10:18:31
>> # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:5sD0bi0DMi9SwUz0z7Jt7A
>>
>> __PACKAGE__->add_unique_constraint(username => [ qw/username/ ]);
>>
>>
>> But, it does not seem to affect my code at all. I would like each username
>> to be unique in the system and prevent dupklicates from being entered. i am
>> using both an SQLite3 database and a separate instance on a MS SQL Server.
>>
>
> add_unique_constraint() is used by deploy() to add the constraint to
> the SQL used to create the database table.
>
> It won't do any checks when you're INSERTing / UPDATEing data, because
> the constraint should be in the database's schema.
>
> So, as you're using DBIx::Class::Schema::Loader this won't do what
> you're expecting it to do - you need to manually add the constraint
> to the database (or use DBIC's deploy() or update() ).
>
> Carl
>
> _______________________________________________
> List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
> IRC: irc.perl.org#dbix-class
> SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
> Searchable Archive: http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk
>
>
Thanks for the help. One more question, though. The preferred method for
handling unique columns is to let the database manage them and then just
trap the error message using Exception::Class?
More information about the DBIx-Class
mailing list