2 ###############################################################################
9 Allows you to either use an existing file named <file>.utf8 or a named
10 [utf8 file] as if it were the one created by mig-iconv
14 B<mig-skip-iconv> <file> [utf8 file]
18 ###############################################################################
23 HOME PGHOST PGPORT PGUSER PGDATABASE MIGSCHEMA
24 MIGBASEWORKDIR MIGBASEGITDIR MIGGITDIR MIGWORKDIR
30 my $mig_bin = "$FindBin::Bin/";
31 use lib "$FindBin::Bin/";
34 pod2usage(-verbose => 2) if ! ($ARGV[0]||$ARGV[1]) || $ARGV[0] eq '--help';
36 Mig::die_if_no_env_migschema();
37 Mig::die_if_mig_tracking_table_does_not_exist();
39 my $file = abs_path($ARGV[0]);
42 $utf8_file = abs_path($ARGV[1]);
44 if ($utf8_file && ! $utf8_file =~ /^$MIGBASEWORKDIR/) {
45 die "File falls outside of MIGWORKDIR ($MIGWORKDIR): $utf8_file\n";
48 if ($file =~ /^$MIGBASEWORKDIR/) {
49 skip_iconv($file,$utf8_file);
51 print "File falls outside of MIGWORKDIR ($MIGWORKDIR): $file\n";
56 ###############################################################################
60 my $utf8_file = shift;
62 my $tracked_file_id = Mig::check_for_tracked_file($file);
63 if ($tracked_file_id) {
64 my $data = Mig::status_this_file($file);
65 print "skipping the iconv'ing of tracked file: $file\n";
67 my $dbh = Mig::db_connect();
69 $utf8_file = $file . '.utf8';
71 if (! -e $utf8_file) {
72 die "utf8 file does not exist: $utf8_file\n";
76 UPDATE $MIGSCHEMA.tracked_file
77 SET utf8_filename = " . $dbh->quote($utf8_file) . "
78 WHERE base_filename = " . $dbh->quote($file) . "
80 ") || die "Error inserting into table $MIGSCHEMA.tracked_file: $!\n";
81 Mig::db_disconnect($dbh);
83 print "File not currently tracked: $file\n";