DBIx-Class-ResultDDL
view release on metacpan or search on metacpan
lib/DBIx/Class/ResultDDL.pm view on Meta::CPAN
# Call: Becomes:
char data_type => 'char', size => 1
char($size) data_type => 'char', size => $size
char[] data_type => 'char[]', size => 1
char $size,[] data_type => 'char[]', size => $size
# Same API for the others
nchar ... data_type => 'nchar' ...
bit ... data_type => 'bit' ...
C<nchar> (SQL Server unicode char array) has an identical API but
returns C<< data_type => 'nchar' >>
Note that Postgres allows C<"bit"> to have a size, like C<char($size)> but SQL Server
uses C<"bit"> only to represent a single bit.
=head3 varchar, nvarchar, binary, varbinary, varbit
varchar data_type => 'varchar'
varchar($size) data_type => 'varchar', size => $size
varchar(MAX) data_type => 'varchar', size => "MAX"
lib/DBIx/Class/ResultDDL.pm view on Meta::CPAN
text data_type => 'text',
text($size) data_type => 'text', size => $size
text[] data_type => 'text[]'
# MySQL specific variants:
tinytext data_type => 'tinytext', size => 0xFF
mediumtext data_type => 'mediumtext', size => 0xFFFFFF
longtext data_type => 'longtext', size => 0xFFFFFFFF
# SQL Server unicode variant:
ntext data_type => 'ntext', size => 0x3FFFFFFF
ntext($size) data_type => 'ntext', size => $size
See MySQL notes in C<blob>. For SQL Server, you might want C<ntext> or C<< nvarchar(MAX) >>
instead. Postgres does not use a size, and allows arrays of this type.
Newer versions of SQL-Server prefer C<< nvarchar(MAX) >> instead of C<ntext>.
=head3 enum
lib/DBIx/Class/ResultDDL/V0.pm view on Meta::CPAN
=item char, char($size)
data_type => 'char', size => $size // 1
=item varchar, varchar($size), varchar(MAX)
data_type => 'varchar', size => $size // 255
=item nchar
SQL Server specific type for unicode char
=item nvarchar, nvarchar($size), nvarchar(MAX)
SQL Server specific type for unicode character data.
data_type => 'nvarchar', size => $size // 255
=item MAX
Constant for 'MAX', used by SQL Server for C<< varchar(MAX) >>.
=item binary, binary($size)
data_type => 'binary', size => $size // 255
lib/DBIx/Class/ResultDDL/V0.pm view on Meta::CPAN
=item mediumtext
data_type => 'mediumtext', size => 0xFFFFFF
=item longtext
data_type => 'longtext', size => 0xFFFFFFFF
=item ntext
SQL-Server specific type for unicode C<text>. Note that newer versions prefer C<< nvarchar(MAX) >>.
data_type => 'ntext', size => 0x3FFFFFFF
=item enum( @values )
data_type => 'enum', extra => { list => [ @values ] }
=item bool, boolean
data_type => 'boolean'
lib/DBIx/Class/ResultDDL/V1.pm view on Meta::CPAN
# Call: Becomes:
char data_type => 'char', size => 1
char($size) data_type => 'char', size => $size
char[] data_type => 'char[]', size => 1
char $size,[] data_type => 'char[]', size => $size
# Same API for the others
nchar ... data_type => 'nchar' ...
bit ... data_type => 'bit' ...
C<nchar> (SQL Server unicode char array) has an identical API but
returns C<< data_type => 'nchar' >>
Note that Postgres allows C<"bit"> to have a size, like C<char($size)> but SQL Server
uses C<"bit"> only to represent a single bit.
=head3 varchar, nvarchar, binary, varbinary, varbit
varchar data_type => 'varchar'
varchar($size) data_type => 'varchar', size => $size
varchar(MAX) data_type => 'varchar', size => "MAX"
lib/DBIx/Class/ResultDDL/V1.pm view on Meta::CPAN
text data_type => 'text',
text($size) data_type => 'text', size => $size
text[] data_type => 'text[]'
# MySQL specific variants:
tinytext data_type => 'tinytext', size => 0xFF
mediumtext data_type => 'mediumtext', size => 0xFFFFFF
longtext data_type => 'longtext', size => 0xFFFFFFFF
# SQL Server unicode variant:
ntext data_type => 'ntext', size => 0x3FFFFFFF
ntext($size) data_type => 'ntext', size => $size
See MySQL notes in C<blob>. For SQL Server, you might want C<ntext> or C<< nvarchar(MAX) >>
instead. Postgres does not use a size, and allows arrays of this type.
Newer versions of SQL-Server prefer C<< nvarchar(MAX) >> instead of C<ntext>.
=head3 enum
( run in 0.764 second using v1.01-cache-2.11-cpan-88abd93f124 )