add "use utf8;" at the top of all generated files
[dbsrgits/DBIx-Class-Schema-Loader.git] / lib / DBIx / Class / Schema / Loader / Base.pm
index 51eb81e..befe435 100644 (file)
@@ -126,7 +126,7 @@ DBIx::Class::Schema::Loader::Base - Base DBIx::Class::Schema::Loader Implementat
 
 =head1 SYNOPSIS
 
-See L<DBIx::Class::Schema::Loader>
+See L<DBIx::Class::Schema::Loader>.
 
 =head1 DESCRIPTION
 
@@ -1594,7 +1594,8 @@ sub _dump_to_dir {
         unless $self->dynamic or $self->quiet;
 
     my $schema_text =
-          qq|package $schema_class;\n\n|
+          qq|use utf8;\n|
+        . qq|package $schema_class;\n\n|
         . qq|# Created by DBIx::Class::Schema::Loader\n|
         . qq|# DO NOT MODIFY THE FIRST PART OF THIS FILE\n\n|;
 
@@ -1644,7 +1645,8 @@ sub _dump_to_dir {
 
     foreach my $src_class (@classes) {
         my $src_text = 
-              qq|package $src_class;\n\n|
+              qq|use utf8;\n|
+            . qq|package $src_class;\n\n|
             . qq|# Created by DBIx::Class::Schema::Loader\n|
             . qq|# DO NOT MODIFY THE FIRST PART OF THIS FILE\n\n|;
 
@@ -2687,6 +2689,18 @@ Returns a hashref of table to class mappings.  In some cases it will
 contain multiple entries per table for the original and normalized table
 names, as above in L</monikers>.
 
+=head1 NON-ENGLISH DATABASES
+
+If you use the loader on a database with table and column names in a language
+other than English, you will want to turn off the English language specific
+heuristics.
+
+To do so, use something like this in your laoder options:
+
+    naming           => { monikers => 'v4' },
+    inflect_singular => sub { "$_[0]_rel" },
+    inflect_plural   => sub { "$_[0]_rel" },
+
 =head1 COLUMN ACCESSOR COLLISIONS
 
 Occasionally you may have a column name that collides with a perl method, such