---
name: "DBIx::Class::Storage::DBI::UniqueIdentifier"
section: "3pm"
platform: "linux"
package: "libdbix-class-perl"
version: "0.082844-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/DBIx::Class::Storage::DBI::UniqueIdentifier"
---

# DBIx::Class::Storage::DBI::UniqueIdentifier(3pm)

Storage component for RDBMSes supporting GUID types

## NAME

DBIx::Class::Storage::DBI::UniqueIdentifier - Storage component for RDBMSes supporting GUID types

## DESCRIPTION

This is a storage component for databases that support GUID types such as `"uniqueidentifier"`, `"uniqueidentifierstr"` or `"guid"`.

GUIDs are generated automatically for PK columns with a supported data\_type, as well as non-PK with auto\_nextval set.

## METHODS

### new\_guid

The composing class must set `"new_guid"` to the method used to generate a new GUID. It can also set it to `"undef"`, in which case the user is required to set it, or a runtime error will be thrown. It can be:

- string

  In which case it is used as the name of database function to create a new GUID,

- coderef

  In which case the coderef should return a string GUID, using Data::GUID, or whatever GUID generation method you prefer. It is passed the `$self` DBIx::Class::Storage reference as a parameter.

For example:

```
  $schema->storage->new_guid(sub { Data::GUID->new->as_string });
```

## FURTHER QUESTIONS?

Check the list of additional DBIC resources.

## COPYRIGHT AND LICENSE

This module is free software copyright by the DBIx::Class (DBIC) authors. You can redistribute it and/or modify it under the same terms as the DBIx::Class library.
