Provided by: libsql-translator-perl_0.11021-1_all bug

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 ] );

         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>.