table of contents
SQL::Translator::Schema::Index(3) | User Contributed Perl Documentation | SQL::Translator::Schema::Index(3) |
NAME¶
SQL::Translator::Schema::Index - SQL::Translator index object
SYNOPSIS¶
use SQL::Translator::Schema::Index; my $index = SQL::Translator::Schema::Index->new( name => 'foo', fields => [ id ], type => 'unique', );
DESCRIPTION¶
"SQL::Translator::Schema::Index" is the index object.
Primary and unique keys are table constraints, not indices.
METHODS¶
new¶
Object constructor.
my $schema = SQL::Translator::Schema::Index->new;
fields¶
Gets and set the fields the index is on. Accepts a string, list or arrayref; returns an array or array reference. Will unique the field names and keep them in order by the first occurrence of a field name.
$index->fields('id'); $index->fields('id', 'name'); $index->fields( 'id, name' ); $index->fields( [ 'id', 'name' ] ); $index->fields( qw[ id name ] ); $index->fields(id => { name => 'name', order_by => 'ASC NULLS LAST' }); my @fields = $index->fields;
is_valid¶
Determine whether the index is valid or not.
my $ok = $index->is_valid;
name¶
Get or set the index's name.
my $name = $index->name('foo');
options¶
Get or set the index's options (e.g., "using" or "where" for PG). Returns an array or array reference.
my @options = $index->options;
table¶
Get or set the index's table object.
my $table = $index->table;
type¶
Get or set the index's type.
my $type = $index->type('unique');
Get or set the index's type.
Currently there are only four acceptable types: UNIQUE, NORMAL, FULL_TEXT, and SPATIAL. The latter two might be MySQL-specific. While both lowercase and uppercase types are acceptable input, this method returns the type in uppercase.
equals¶
Determines if this index is the same as another
my $isIdentical = $index1->equals( $index2 );
AUTHOR¶
Ken Youens-Clark <kclark@cpan.org>.
2024-03-08 | perl v5.40.0 |