# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
+
use DBIx::Class::Schema::Loader qw/ make_schema_at /;
+
use Getopt::Long;
+use Pod::Usage;
my $path = "./";
my $db_driver = 'mysql';
my $db_host = 'localhost';
my $db_port = '3306';
-my $db_name = '';
-my $db_user = '';
-my $db_passwd = '';
+my $db_name;
+my $db_user;
+my $db_passwd;
+my $help;
+
GetOptions(
"path=s" => \$path,
"db_driver=s" => \$db_driver,
"db_name=s" => \$db_name,
"db_user=s" => \$db_user,
"db_passwd=s" => \$db_passwd,
+ "h|help" => \$help
);
-make_schema_at(
- "Koha::Schema",
- { debug => 1, dump_directory => $path, preserve_case => 1 },
- ["DBI:$db_driver:dbname=$db_name;host=$db_host;port=$db_port",$db_user, $db_passwd ]
-);
+# If we were asked for usage instructions, do it
+pod2usage(1) if defined $help;
+
+if (! defined $db_name ) {
+ print "Error: \'db_name\' parameter is mandatory.\n";
+ pod2usage(1);
+} else {
+
+ make_schema_at(
+ "Koha::Schema",
+ { debug => 1, dump_directory => $path, preserve_case => 1 },
+ ["DBI:$db_driver:dbname=$db_name;host=$db_host;port=$db_port",$db_user, $db_passwd ]
+ );
+}
+
+1;
+
+=head1 NAME
+
+misc/devel/update_dbix_class_files.pl
+
+=head1 SYNOPSIS
+
+ update_dbix_class_files.pl --db_name=db-name --db_user=db-user \
+ --db_passwd=db-pass ...
+
+The command in usually called from the root directory for the Koha source tree.
+If you are runing from another directory, use the --path switch to specify
+a different path.
+
+=head1 OPTIONS
+
+=over 8
+
+=item B<--db_name>
+
+DB name. (mandatory)
+
+=item B<--db_user>
+
+DB user name.
+
+=item B<--db_passwd>
+
+DB password.
+
+=item B<--db_driver>
+
+DB driver to be used. (defaults to 'mysql')
+
+=item B<--db_host>
+
+hostname for the DB server. (defaults to 'localhost')
+
+=item B<--db_port>
+
+port number for the DB server. (defaults to '3306')
+
+=item B<--path>
+
+path into which create the schema files. (defaults to './')
+
+=item B<-h|--help>
+
+prints this help text
+
+=back
\ No newline at end of file