fk_check_source
my $busted = $schema->fk_check_source(
'User',
'Group',
{ group_id => 'id' },
);
"fk_check_source" takes three arguments, the first is the from source moniker of a relationship. The
second is the to source or source moniker of a relationship. The final argument is a hash reference
representing the columns of the relationship. The return value is a resultset of the from source that do
not have a corresponding to row. To be clear, the example given above would return a resultset of "User"
rows that have a "group_id" that points to a "Group" that does not exist.
fk_check_source_auto
my $broken = $schema->fk_check_source_auto('User');
"fk_check_source_auto" takes a single argument: the source to check. It will check all the foreign key
(that is, "belongs_to") relationships for missing... "foreign" rows. The return value will be a hashref
where the keys are the relationship name and the values are resultsets of the respective violated
relationship.
dup_check_source
my $smashed = $schema->fk_check_source( 'Group', ['id'] );
"dup_check_source" takes two arguments, the first is the source moniker to be checked. The second is an
arrayref of columns that "should be" unique. The return value is a resultset of the source that
duplicate the passed columns. So with the example above the resultset would return all groups that are
"duplicates" of other groups based on "id".
dup_check_source_auto
my $ruined = $schema->dup_check_source_auto('Group');
"dup_check_source_auto" takes a single argument, which is the name of the resultsource in which to check
for duplicates. It will return a hashref where they keys are the names of the unique constraints to be
checked. The values will be resultsets of the respective duplicate rows.
null_check_source
my $blarg = $schema->null_check_source('Group', ['id']);
"null_check_source" tales two arguments, the first is the name of the source to check. The second is an
arrayref of columns that should contain no nulls. The return value is simply a resultset of rows that
contain nulls where they shouldn't be.
null_check_source_auto
my $wrecked = $schema->null_check_source_auto('Group');
"null_check_source_auto" takes a single argument, which is the name of the resultsource in which to check
for nulls. The return value is simply a resultset of rows that contain nulls where they shouldn't be.
This method automatically uses the configured columns that have "is_nullable" set to false.