Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SQL::Translator::FilteUseraContributed Perl DSQL::Translator::Filter::Names(3)

       SQL::Translator::Filter::Names -	Tweak the names	of schema objects.

	 #! /usr/bin/perl -w
	 use SQL::Translator;

	 # Lowercase all table names and upper case the	first letter of	all field
	 # names. (MySql style!)
	 my $sqlt = SQL::Translator->new(
	     filename => \@ARGV,
	     from     => 'MySQL',
	     to	      => 'MySQL',
	     filters =>	[
	       Names =>	{
		   'tables' => 'lc',
		   'fields' => 'ucfirst',
	 ) || die "SQLFairy error : ".SQL::Translator->error;
	 print($sqlt->translate) || die	"SQLFairy error	: ".$sqlt->error;

       Tweak the names of schema objects by providing functions	to filter the
       names from the given into the desired forms.

       perl(1),	SQL::Translator

       Name Groups
	   Define a bunch of useful groups to run the name filters over. e.g.
	   all,	fkeys, pkeys etc.

       More Functions
	   e.g.	camelcase, titlecase, single word etc.	Also a way to pass in
	   a regexp.

	   May also want a way to pass in arguments for	the func e.g. prefix.

       Multiple	Filters	on the same name (filter order)?
	   Do we actually need this, you could just run	lots of	filters. Would
	   make	adding func args to the	interface easier.

	       filters => [
		   [ 'Names', {	all => 'lc' } ],
		   [ 'Names', {
		       tables => 'lc',
		       fields => 'ucfirst',
		   } ],

	   Mind	you if you could give the filter a list	this wouldn't be a

	       filters => [
		   [ 'Names',
		       all    => 'lc'
		       fields => 'ucfirst',

	   Which is nice. Might	have to	change the calling conventions for
	   filters.  Would also	provide	an order to run	the filters in rather
	   than	having to hard code it into the	filter it's self.

perl v5.32.0			  2020-04-19 SQL::Translator::Filter::Names(3)


Want to link to this manual page? Use this URL:

home | help