---
name: "dbicdump"
section: "1p"
platform: "linux"
package: "libdbix-class-schema-loader-perl"
version: "0.07053-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/dbicdump"
---

# dbicdump(1p)

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

## NAME

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.
