dbicdump man page

dbicdump — Dump a schema using DBIx::Class::Schema::Loader

Synopsis

dbicdump <configuration_file>
dbicdump [-I <lib-path>] [-o <loader_option>=<value> ] \
         <schema_class> <connect_info>

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
<connect_info>
    dsn     dbi:mysql:example
    user    root
    pass    secret
</connect_info>
# dbic loader options
<loader_options>
    dump_directory ./lib
    components     InflateColumn::DateTime
    components     TimeStamp
</loader_options>

Using a config file requires Config::Any installed.

The optional "lib" key is equivalent to the "-I" option.

Description

Dbicdump generates a DBIx::Class schema using "make_schema_at" in DBIx::Class::Schema::Loader and dumps it to disk.

You can pass any DBIx::Class::Schema::Loader::Base constructor option using "-o <option>=<value>". For convenience, option names will have "-" replaced with "_" and values that look like references or quote-like operators will be "eval"-ed before being passed to the constructor.

The "dump_directory" option defaults to the current directory if not specified.

See Also

DBIx::Class::Schema::Loader, DBIx::Class.

Authors

See "Authors" in DBIx::Class::Schema::Loader.

License

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Info

2015-06-25 perl v5.24.0 User Contributed Perl Documentation