DBIx-Class-Schema-Loader-0.07048/0000755000175100017510000000000013230741143015443 5ustar ilmariilmariDBIx-Class-Schema-Loader-0.07048/Makefile.PL0000644000175100017510000001152513205133076017423 0ustar ilmariilmariuse warnings; use strict; use 5.008001; BEGIN { unshift @INC, '.' unless $INC[-1] eq '.'; } use inc::Module::Install 1.00; use Getopt::Long(); my $getopt = Getopt::Long::Parser->new( config => [qw/gnu_getopt bundling_override no_ignore_case pass_through/] ); my $args = { skip_author_deps => undef, }; $getopt->getoptions($args, 'skip_author_deps'); if (@ARGV) { warn "\nIgnoring unrecognized option(s): @ARGV\n\n"; } use FindBin; use lib "$FindBin::Bin/lib"; perl_version '5.008001'; name 'DBIx-Class-Schema-Loader'; all_from 'lib/DBIx/Class/Schema/Loader.pm'; # temporary, needs to be thrown out test_requires 'DBIx::Class::IntrospectableM2M' => 0; # core, but specific versions not available on older perls test_requires 'File::Temp' => '0.16'; test_requires 'File::Path' => '2.07'; test_requires 'DBD::SQLite' => '1.29'; test_requires 'Test::Exception' => '0.31'; test_requires 'Test::More' => '0.94'; test_requires 'Test::Warn' => '0.21'; test_requires 'Test::Deep' => '0.107'; test_requires 'Test::Differences' => '0.60'; requires 'Carp::Clan' => 0; requires 'Class::Accessor::Grouped' => '0.10008'; requires 'Class::C3::Componentised' => '1.0008'; requires 'Class::Inspector' => '1.27'; requires 'Class::Unload' => '0.07'; requires 'curry' => '1.000000', requires 'Data::Dump' => '1.06'; requires 'DBIx::Class' => '0.08127'; requires 'Hash::Merge' => '0.12'; requires 'Lingua::EN::Inflect::Number' => '1.1'; requires 'Lingua::EN::Tagger' => '0.23'; requires 'Lingua::EN::Inflect::Phrase' => '0.15'; requires 'List::Util' => '1.33'; requires 'MRO::Compat' => '0.09'; requires 'namespace::clean' => '0.23'; requires 'Scope::Guard' => '0.20'; requires 'String::ToIdentifier::EN' => '0.05'; requires 'String::CamelCase' => '0.02'; requires 'Sub::Util' => '1.40'; requires 'Try::Tiny' => 0; # core, but specific versions not available on older perls requires 'Digest::MD5' => '2.36'; requires 'Exporter' => '5.63'; print <<"EOF"; ******************* DBIx::Class::Schema::Loader WARNING *********************** The default attributes for belongs_to relationships for foreign keys with no rules has been changed for most databases, and is soon changing for the rest, as ON DELETE/UPDATE and DEFERRABLE clauses for foreign keys are now being introspected. THIS MAY AFFECT YOUR DDL DIFFS WHEN DEPLOYING YOUR GENERATED CODE WILL ALMOST CERTAINLY CHANGE Read more about the changes in "relationship_attrs" in: perldoc DBIx::Class::Schema::Loader::Base https://metacpan.org/module/DBIx::Class::Schema::Loader::Base#relationship_attrs See also the "Changes" file for the last few revisions. ******************************************************************************* EOF if ($Module::Install::AUTHOR && ! $args->{skip_author_deps}) { my @missing_plugins; for my $plugin (qw(ReadmeFromPod AuthorTests)) { eval "require Module::Install::$plugin" and next; push @missing_plugins, "Module::Install::$plugin"; chomp(my $err = $@); $missing_plugins[-1] .= " ($err)" unless $err =~ m{^Can't locate Module/Install/$plugin.pm in \@INC}; } die "\nYou need to install the following modules to run this Makefile.PL in author mode:\n\n", join("\n", @missing_plugins), "\n\n" if @missing_plugins; warn "\n*** AUTHOR MODE: some optional dependencies converted to hard requires.\n\n"; require DBIx::Class::Schema::Loader::Optional::Dependencies; test_requires %{DBIx::Class::Schema::Loader::Optional::Dependencies ->modreq_list_for([ grep { !/rdbms/ } keys %{ DBIx::Class::Schema::Loader::Optional::Dependencies ->req_group_list } ])}; DBIx::Class::Schema::Loader::Optional::Dependencies->_gen_pod(undef, 'lib'); author_tests( 'xt' ); readme_from( 'lib/DBIx/Class/Schema/Loader.pm' ); realclean_files( qw[README MANIFEST lib/DBIx/Class/Schema/Loader/Optional/Dependencies.pod] ); postamble < 'irc://irc.perl.org/#dbix-class'; resources 'license' => 'http://dev.perl.org/licenses/'; resources 'repository' => 'https://github.com/dbsrgits/dbix-class-schema-loader'; resources 'MailingList' => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class'; auto_install; WriteAll; # vim:et sts=4 sw=4 tw=0: DBIx-Class-Schema-Loader-0.07048/script/0000755000175100017510000000000013230741143016747 5ustar ilmariilmariDBIx-Class-Schema-Loader-0.07048/script/dbicdump0000644000175100017510000001204413204323175020464 0ustar ilmariilmari#!/usr/bin/perl =encoding UTF-8 =head1 NAME dbicdump - Dump a schema using DBIx::Class::Schema::Loader =head1 SYNOPSIS dbicdump dbicdump [-I ] [-o = ] \ Examples: $ dbicdump schema.conf $ dbicdump -o dump_directory=./lib \ -o components='["InflateColumn::DateTime"]' \ MyApp::Schema dbi:SQLite:./foo.db $ dbicdump -o dump_directory=./lib \ -o components='["InflateColumn::DateTime"]' \ MyApp::Schema dbi:SQLite:./foo.db '{ quote_char => "\"" }' $ dbicdump -Ilib -o dump_directory=./lib \ -o components='["InflateColumn::DateTime"]' \ -o preserve_case=1 \ MyApp::Schema dbi:mysql:database=foo user pass \ '{ quote_char => "`" }' $ dbicdump -o dump_directory=./lib \ -o components='["InflateColumn::DateTime"]' \ MyApp::Schema 'dbi:mysql:database=foo;host=domain.tld;port=3306' \ user pass On Windows that would be: $ dbicdump -o dump_directory=.\lib ^ -o components="[q{InflateColumn::DateTime}]" ^ -o preserve_case=1 ^ MyApp::Schema dbi:mysql:database=foo user pass ^ "{ quote_char => q{`} }" Configuration files must have schema_class and connect_info sections, an example of a general config file is as follows: schema_class MyApp::Schema lib /extra/perl/libs # connection string dsn dbi:mysql:example user root pass secret # dbic loader options dump_directory ./lib components InflateColumn::DateTime components TimeStamp Using a config file requires L installed. The optional C key is equivalent to the C<-I> option. =head1 DESCRIPTION Dbicdump generates a L schema using L and dumps it to disk. You can pass any L constructor option using C<< -o