DBIx::Class::UUIDColumns - Implicit uuid columns |
DBIx::Class::UUIDColumns - Implicit uuid columns
In your the DBIx::Class manpage table class:
__PACKAGE__->load_components(qw/UUIDColumns ... Core/); __PACKAGE__->uuid_columns('artist_id');
Note: The component needs to be loaded before Core.
This the DBIx::Class manpage component resembles the behaviour of the Class::DBI::UUID manpage, to make some columns implicitly created as uuid.
When loaded, UUIDColumns
will search for a suitable uuid generation module
from the following list of supported modules:
Data::UUID APR::UUID* UUID Win32::Guidgen Win32API::GUID
If no supporting module can be found, an exception will be thrown.
*APR::UUID will not be loaded under OpenBSD due to an as yet unidentified XS issue.
If you would like to use a specific module, you can set uuid_class:
__PACKAGE__->uuid_class('::Data::UUID'); __PACKAGE__->uuid_class('MyUUIDGenerator');
Returns a uuid string from the current uuid_maker.
Inserts a new uuid string into each column in uuid_columns.
Gets/sets the list of columns to be filled with uuids during insert.
__PACKAGE__->uuid_columns('artist_id');
Takes the name of a UUIDMaker subclass to be used for uuid value generation. This can be a fully qualified class name, or a shortcut name starting with :: that matches one of the available the DBIx::Class::UUIDColumns::UUIDMaker manpage subclasses:
__PACKAGE__->uuid_class('CustomUUIDGenerator'); # loads CustomeUUIDGenerator
__PACKAGE__->uuid_class('::Data::UUID'); # loads DBIx::Class::UUIDMaker::Data::UUID;
Note that uuid_class
checks to see that the specified class isa
the DBIx::Class::UUIDColumns::UUIDMaker manpage subclass and throws and exception if it isn't.
Returns the current UUIDMaker instance for the given module.
my $uuid = __PACKAGE__->uuid_maker->as_string;
the DBIx::Class::UUIDColumns::UUIDMaker manpage
Chia-liang Kao <clkao@clkao.org>
Chris Laco <claco@chrislaco.com>
You may distribute this code under the same terms as Perl itself.
DBIx::Class::UUIDColumns - Implicit uuid columns |