| DBIx-Class documentation | view source | Contained in the DBIx-Class distribution. |
SQL::Translator::Parser::DBIx::Class - Create a SQL::Translator schema from a DBIx::Class::Schema instance
## Via DBIx::Class
use MyApp::Schema;
my $schema = MyApp::Schema->connect("dbi:SQLite:something.db");
$schema->create_ddl_dir();
## or
$schema->deploy();
## Standalone
use MyApp::Schema;
use SQL::Translator;
my $schema = MyApp::Schema->connect;
my $trans = SQL::Translator->new (
parser => 'SQL::Translator::Parser::DBIx::Class',
parser_args => {
package => $schema,
add_fk_index => 0,
sources => [qw/
Artist
CD
/],
},
producer => 'SQLite',
) or die SQL::Translator->error;
my $out = $trans->translate() or die $trans->error;
This class requires SQL::Translator installed to work.
SQL::Translator::Parser::DBIx::Class reads a DBIx::Class schema,
interrogates the columns, and stuffs it all in an $sqlt_schema object.
Its primary use is in deploying database layouts described as a set of DBIx::Class classes, to a database. To do this, see deploy in DBIx::Class::Schema.
This can also be achieved by having DBIx::Class export the schema as a set of SQL files ready for import into your database, or passed to other machines that need to have your application installed but don't have SQL::Translator installed. To do this see create_ddl_dir in DBIx::Class::Schema.
Create an index for each foreign key. Enabled by default, as having indexed foreign key columns is normally the sensible thing to do.
Limit the amount of parsed sources by supplying an explicit list of source names.
You may distribute this code under the same terms as Perl itself.
| DBIx-Class documentation | view source | Contained in the DBIx-Class distribution. |