DBICDUMP(1p) | User Contributed Perl Documentation | DBICDUMP(1p) |
dbicdump - Dump a schema using DBIx::Class::Schema::Loader
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.
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.
DBIx::Class::Schema::Loader, DBIx::Class.
See "AUTHORS" in DBIx::Class::Schema::Loader.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2022-11-26 | perl v5.36.0 |