DBICADMIN(1) User Contributed Perl Documentation DBICADMIN(1)NAME
dbicadmin - utility for administrating DBIx::Class schemata
SYNOPSIS
dbicadmin: [-I] [long options...]
deploy a schema to a database
dbicadmin --schema=MyApp::Schema
--connect='["dbi:SQLite:my.db", "", ""]'
--deploy
update an existing record
dbicadmin --schema=MyApp::Schema --class=Employee
--connect='["dbi:SQLite:my.db", "", ""]'
--op=update --set='{ "name": "New_Employee" }'
OPTIONS
Actions
--create
Create version diffs needs preversion
--upgrade
Upgrade the database to the current schema
--install
Install the schema version tables to an existing database
--deploy
Deploy the schema to the database
--select
Select data from the schema
--insert
Insert data into the schema
--update
Update data in the schema
--delete
Delete data from the schema
--op
compatiblity option all of the above can be suppied as --op=<action>
--help
display this help
Arguments
--config-file or --config
Supply the config file for parsing by Config::Any
--connect-info
Supply the connect info as trailing options e.g. --connect-info dsn=<dsn> user=<user> password=<pass>
--connect
Supply the connect info as a JSON-encoded structure, e.g. an --connect=["dsn","user","pass"]
--schema-class
The class of the schema to load
--config-stanza
Where in the config to find the connection_info, supply in form MyApp::Model::DB
--resultset or --resultset-class or --class
The resultset to operate on for data manipulation
--sql-dir
The directory where sql diffs will be created
--sql-type
The RDBMs flavour you wish to use
--version
Supply a version install
--preversion
The previous version to diff against
--set
JSON data used to perform data operations
--attrs
JSON string to be used for the second argument for search
--where
JSON string to be used for the where clause of search
--force
Be forceful with some operations
--trace
Turn on DBIx::Class trace output
--quiet
Be less verbose
-I Same as perl's -I, prepended to current @INC
AUTHORS
See "CONTRIBUTORS" in DBIx::Class
LICENSE
You may distribute this code under the same terms as Perl itself
perl v5.16.2 2012-10-18 DBICADMIN(1)
Check Out this Related Man Page
DBIx::Class::Admin(3) User Contributed Perl Documentation DBIx::Class::Admin(3)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.
AUTHOR
See "CONTRIBUTORS" in DBIx::Class.
LICENSE
You may distribute this code under the same terms as Perl itself
perl v5.16.2 2012-08-16 DBIx::Class::Admin(3)