Provided by: libdbix-class-perl_0.082821-1_all bug

NAME

       DBIx::Class::Admin - Administration object for schemas

SYNOPSIS

         $ dbicadmin --help

         $ dbicadmin --schema=MyApp::Schema \
           --connect='["dbi:SQLite:my.db", "", ""]' \
           --deploy

         $ dbicadmin --schema=MyApp::Schema --class=Employee \
           --connect='["dbi:SQLite:my.db", "", ""]' \
           --op=update --set='{ "name": "New_Employee" }'

         use DBIx::Class::Admin;

         # ddl manipulation
         my $admin = DBIx::Class::Admin->new(
           schema_class=> 'MY::Schema',
           sql_dir=> $sql_dir,
           connect_info => { dsn => $dsn, user => $user, password => $pass },
         );

         # create SQLite sql
         $admin->create('SQLite');

         # create SQL diff for an upgrade
         $admin->create('SQLite', {} , "1.0");

         # upgrade a database
         $admin->upgrade();

         # install a version for an unversioned schema
         $admin->install("3.0");

REQUIREMENTS

       The Admin interface has additional requirements not currently part of DBIx::Class. See
       DBIx::Class::Optional::Dependencies for more details.

ATTRIBUTES

   schema_class
       the class of the schema to load

   schema
       A pre-connected schema object can be provided for manipulation

   resultset
       a resultset from the schema to operate on

   where
       a hash ref or json string to be used for identifying data to manipulate

   set
       a hash ref or json string to be used for inserting or updating data

   attrs
       a hash ref or json string to be used for passing additional info to the ->search call

   connect_info
       connect_info the arguments to provide to the connect call of the schema_class

   config_file
       config_file provide a config_file to read connect_info from, if this is provided
       config_stanze should also be provided to locate where the connect_info is in the config
       The config file should be in a format readable by Config::Any.

   config_stanza
       config_stanza for use with config_file should be a '::' delimited 'path' to the connection
       information designed for use with catalyst config files

   config
       Instead of loading from a file the configuration can be provided directly as a hash ref.
       Please note config_stanza will still be required.

   sql_dir
       The location where sql ddl files should be created or found for an upgrade.

   sql_type
       The type of sql dialect to use for creating sql files from schema

   version
       Used for install, the version which will be 'installed' in the schema

   preversion
       Previous version of the schema to create an upgrade diff for, the full sql for that
       version of the sql must be in the sql_dir

   force
       Try and force certain operations.

   quiet
       Be less verbose about actions

   trace
       Toggle DBIx::Class debug output

METHODS

   create
       Arguments: $sqlt_type, \%sqlt_args, $preversion

       "create" will generate sql for the supplied schema_class in sql_dir. The flavour of sql to
       generate can be controlled by supplying a sqlt_type which should be a SQL::Translator
       name.

       Arguments for SQL::Translator can be supplied in the sqlt_args hashref.

       Optional preversion can be supplied to generate a diff to be used by upgrade.

   upgrade
       Arguments: <none>

       upgrade will attempt to upgrade the connected database to the same version as the
       schema_class.  MAKE SURE YOU BACKUP YOUR DB FIRST

   install
       Arguments: $version

       install is here to help when you want to move to DBIx::Class::Schema::Versioned and have
       an existing database.  install will take a version and add the version tracking tables and
       'install' the version.  No further ddl modification takes place.  Setting the force
       attribute to a true value will allow overriding of already versioned databases.

   deploy
       Arguments: $args

       deploy will create the schema at the connected database.  $args are passed straight to
       "deploy" in DBIx::Class::Schema.

   insert
       Arguments: $rs, $set

       insert takes the name of a resultset from the schema_class and a hashref of data to insert
       into that resultset

   update
       Arguments: $rs, $set, $where

       update takes the name of a resultset from the schema_class, a hashref of data to update
       and a where hash used to form the search for the rows to update.

   delete
       Arguments: $rs, $where, $attrs

       delete takes the name of a resultset from the schema_class, a where hashref and a attrs to
       pass to ->search.  The found data is deleted and cannot be recovered.

   select
       Arguments: $rs, $where, $attrs

       select takes the name of a resultset from the schema_class, a where hashref and a attrs to
       pass to ->search.  The found data is returned in a array ref where the first row will be
       the columns list.

FURTHER QUESTIONS?

       Check the list of additional DBIC resources.

COPYRIGHT AND LICENSE

       This module is free software copyright by the DBIx::Class (DBIC) authors. You can
       redistribute it and/or modify it under the same terms as the DBIx::Class library.