![]() |
![]()
| ![]() |
![]()
NAMESQL::Translator::Schema::Constraint - SQL::Translator constraint object SYNOPSISuse SQL::Translator::Schema::Constraint; my $constraint = SQL::Translator::Schema::Constraint->new( name => 'foo', fields => [ id ], type => PRIMARY_KEY, ); DESCRIPTION"SQL::Translator::Schema::Constraint" is the constraint object. METHODSnewObject constructor. my $schema = SQL::Translator::Schema::Constraint->new( table => $table, # table to which it belongs type => 'foreign_key', # type of table constraint name => 'fk_phone_id', # name of the constraint fields => 'phone_id', # field in the referring table reference_fields => 'phone_id', # referenced field reference_table => 'phone', # referenced table match_type => 'full', # how to match on_delete => 'cascade', # what to do on deletes on_update => '', # what to do on updates ); deferrableGet or set whether the constraint is deferrable. If not defined, then returns "1." The argument is evaluated by Perl for True or False, so the following are equivalent: $deferrable = $field->deferrable(0); $deferrable = $field->deferrable(''); $deferrable = $field->deferrable('0'); expressionGets and set the expression used in a CHECK constraint. my $expression = $constraint->expression('...'); is_validDetermine whether the constraint is valid or not. my $ok = $constraint->is_valid; fieldsGets and set the fields the constraint 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. The fields are returned as Field objects if they exist or as plain names if not. (If you just want the names and want to avoid the Field's overload magic use "field_names"). Returns undef or an empty list if the constraint has no fields set. $constraint->fields('id'); $constraint->fields('id', 'name'); $constraint->fields( 'id, name' ); $constraint->fields( [ 'id', 'name' ] ); $constraint->fields( qw[ id name ] ); my @fields = $constraint->fields; field_namesRead-only method to return a list or array ref of the field names. Returns undef or an empty list if the constraint has no fields set. Useful if you want to avoid the overload magic of the Field objects returned by the fields method. my @names = $constraint->field_names; match_typeGet or set the constraint's match_type. Only valid values are "full" "partial" and "simple" my $match_type = $constraint->match_type('FULL'); nameGet or set the constraint's name. my $name = $constraint->name('foo'); optionsGets or adds to the constraints's options (e.g., "INITIALLY IMMEDIATE"). Returns an array or array reference. $constraint->options('NORELY'); my @options = $constraint->options; on_deleteGet or set the constraint's "on delete" action. my $action = $constraint->on_delete('cascade'); on_updateGet or set the constraint's "on update" action. my $action = $constraint->on_update('no action'); reference_fieldsGets and set the fields in the referred table. Accepts a string, list or arrayref; returns an array or array reference. $constraint->reference_fields('id'); $constraint->reference_fields('id', 'name'); $constraint->reference_fields( 'id, name' ); $constraint->reference_fields( [ 'id', 'name' ] ); $constraint->reference_fields( qw[ id name ] ); my @reference_fields = $constraint->reference_fields; reference_tableGet or set the table referred to by the constraint. my $reference_table = $constraint->reference_table('foo'); tableGet or set the constraint's table object. my $table = $field->table; typeGet or set the constraint's type. my $type = $constraint->type( PRIMARY_KEY ); equalsDetermines if this constraint is the same as another my $isIdentical = $constraint1->equals( $constraint2 ); AUTHORKen Youens-Clark <kclark@cpan.org>.
|