Types::SQL - a library of SQL types
version v0.4.0
use Types::SQL -types; my $type = Varchar[16];
This module provides a type library of SQL types. These are Type::Tiny objects that are augmented with a dbic_column_info method that returns column information for use with DBIx::Class.
dbic_column_info
The following types are provided:
Blob
my $type = Blob;
Returns a blob data type.
blob
Text
my $type = Text;
Returns a text data type.
text
Varchar
my $type = Varchar[ $size ];
Returns a varchar data type, with an optional size parameter.
varchar
Char
my $type = Char[ $size ];
Returns a char data type, with an optional size parameter.
char
Integer
my $type = Integer[ $precision ];
Returns a integer data type, with an optional precision parameter.
integer
SmallInt
This is shorthand for Integer[5].
Integer[5]
BigInt
This is shorthand for Integer[19].
Integer[19]
Serial
my $type = Serial[ $precision ];
Returns a serial data type, with an optional precision parameter.
serial
Numeric
my $type = Numeric[ $precision, $scale ];
Returns a integer data type, with optional precision and scale parameters.
If $scale is omitted, then it is assumed to be 0.
$scale
0
Any type that has these types as a parent can have column information extracted using Types::SQL::Util.
Alternatively, you can specify a custom dbic_column_info method in a type, e.g.:
my $type = Type::Tiny->new( name => 'MyType', my_methods => { dbic_column_info => sub { my ($self) = @_; return ( data_type => 'custom', parameter => 1234, ); }, }, ... );
The method should return a hash of values that are passed to the add_column method of DBIx::Class::ResultSource.
add_column
Support for Perl versions earlier than 5.10 will be removed sometime in 2019.
Type::Tiny.
Types::SQL::Util, which provides a utility function for translating these types and other types from Types::Standard into column information for DBIx::Class::ResultSource.
The development version is on github at https://github.com/robrwo/Types-SQL and may be cloned from git://github.com/robrwo/Types-SQL.git
Please report any bugs or feature requests on the bugtracker website https://github.com/robrwo/Types-SQL/issues
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
Robert Rothenberg <rrwo@cpan.org>
Slaven Rezić <slaven@rezic.de>
This software is Copyright (c) 2016-2018 by Robert Rothenberg.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
To install Types::SQL, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Types::SQL
CPAN shell
perl -MCPAN -e shell install Types::SQL
For more information on module installation, please visit the detailed CPAN module installation guide.