
DBIx::DataModel::Meta::Schema - Meta-information about a DBIx::DataModel schema

See synopsis in DBIx::DataModel.

An instance of this class holds meta-information about a DBIx::DataModel schema; so it is called a meta-schema.
Within the schema class,
the metadm method points to the meta-schema; within the meta-schema instance,
the class method points to the associated class.
Both are created together: the new() method simultaneously builds a subclass of DBIx::DataModel::Schema,
and an instance of DBIx::DataModel::Meta::Schema.
The meta-schema instance contains information about :
DBIx::DataModel classes for statements,
associations,
types,
etc.and it contains methods for declaring those meta-objects.

my $meta_schema = DBIx::DataModel::Meta::Schema->new(%args);
Simultaneously creates a new subclass of DBIx::DataModel::Schema, and an new instance of DBIx::DataModel::Meta::Schema. Arguments are described in the reference documentation.

$meta_schema->Table($class_name, $db_name, @primary_key, \%options);
$meta_schema->View($class_name, $columns, $db_tables,
\%where, @parent_tables);
$schema->Association([$class1, $role1, $multiplicity1, @columns1],
[$class2, $role2, $multiplicity2, @columns2]);
$schema->Composition([$class1, $role1, $multiplicity1, @columns1],
[$class2, $role2, $multiplicity2, @columns2]);
$meta_schema->Type($type_name =>
$handler_name_1 => sub { ... },
...
);

Utility methods for parsing both ends of an association declaration.
Utility method for parsing arguments to "join", finding the most appropriate source for each path item, retrieving implicit left or inner connectors, and keeping track of aliases.