1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
NAME
DBIx::Class::UUIDColumns - Implicit uuid columns
SYNOPSIS
In your DBIx::Class table class:
__PACKAGE__->load_components(qw/UUIDColumns ... Core/);
__PACKAGE__->uuid_columns('artist_id');
Note: The component needs to be loaded *before* Core.
DESCRIPTION
This DBIx::Class component resembles the behaviour of Class::DBI::UUID,
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');
METHODS
get_uuid
Returns a uuid string from the current uuid_maker.
insert
Inserts a new uuid string into each column in "uuid_columns".
uuid_columns
Gets/sets the list of columns to be filled with uuids during insert.
__PACKAGE__->uuid_columns('artist_id');
uuid_class
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
DBIx::Class::UUIDColumns::UUIDMaker 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
DBIx::Class::UUIDColumns::UUIDMaker subclass and throws and exception if
it isn't.
uuid_maker
Returns the current UUIDMaker instance for the given module.
my $uuid = __PACKAGE__->uuid_maker->as_string;
SEE ALSO
DBIx::Class::UUIDColumns::UUIDMaker
AUTHOR
Chia-liang Kao <clkao@clkao.org>
CONTRIBUTERS
Chris Laco <claco@chrislaco.com>
LICENSE
You may distribute this code under the same terms as Perl itself.
|