version 0.02006
[dbsrgits/DBIx-Class-UUIDColumns.git] / README
CommitLineData
a19bdae0 1NAME
2 DBIx::Class::UUIDColumns - Implicit uuid columns
3
4SYNOPSIS
5 In your DBIx::Class table class:
6
7 __PACKAGE__->load_components(qw/UUIDColumns ... Core/);
8 __PACKAGE__->uuid_columns('artist_id');
9
10 Note: The component needs to be loaded *before* Core.
11
12DESCRIPTION
13 This DBIx::Class component resembles the behaviour of Class::DBI::UUID,
14 to make some columns implicitly created as uuid.
15
16 When loaded, "UUIDColumns" will search for a suitable uuid generation
17 module from the following list of supported modules:
18
19 Data::UUID
20 APR::UUID*
21 UUID
22 Win32::Guidgen
23 Win32API::GUID
24
25 If no supporting module can be found, an exception will be thrown.
26
27 *APR::UUID will not be loaded under OpenBSD due to an as yet
28 unidentified XS issue.
29
30 If you would like to use a specific module, you can set "uuid_class":
31
32 __PACKAGE__->uuid_class('::Data::UUID');
33 __PACKAGE__->uuid_class('MyUUIDGenerator');
34
35METHODS
36 get_uuid
37 Returns a uuid string from the current uuid_maker.
38
39 insert
40 Inserts a new uuid string into each column in "uuid_columns".
41
42 uuid_columns
e4ba97ea 43 Gets/sets the list of columns to be filled with uuids during insert.
a19bdae0 44
45 __PACKAGE__->uuid_columns('artist_id');
46
47 uuid_class
48 Takes the name of a UUIDMaker subclass to be used for uuid value
49 generation. This can be a fully qualified class name, or a shortcut name
50 starting with :: that matches one of the available
51 DBIx::Class::UUIDColumns::UUIDMaker subclasses:
52
53 __PACKAGE__->uuid_class('CustomUUIDGenerator');
54 # loads CustomeUUIDGenerator
55
56 __PACKAGE__->uuid_class('::Data::UUID');
57 # loads DBIx::Class::UUIDMaker::Data::UUID;
58
59 Note that "uuid_class" checks to see that the specified class isa
60 DBIx::Class::UUIDColumns::UUIDMaker subclass and throws and exception if
61 it isn't.
62
63 uuid_maker
64 Returns the current UUIDMaker instance for the given module.
65
66 my $uuid = __PACKAGE__->uuid_maker->as_string;
67
68SEE ALSO
69 DBIx::Class::UUIDColumns::UUIDMaker
70
71AUTHOR
72 Chia-liang Kao <clkao@clkao.org>
73
74CONTRIBUTERS
75 Chris Laco <claco@chrislaco.com>
76
77LICENSE
78 You may distribute this code under the same terms as Perl itself.
79