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 EMig::die_if_no_env_migschema();
37 EMig::die_if_mig_tracking_table_does_not_exist();
39 my $file = abs_path($ARGV[0]);
42 $utf8_file = abs_path($ARGV[1]);
46 if ($utf8_file && ! $utf8_file =~ /^$MIGBASEWORKDIR/) {
47 die "File falls outside of MIGWORKDIR ($MIGWORKDIR): $utf8_file\n";
50 if ($file =~ /^$MIGBASEWORKDIR/) {
51 skip_iconv($file,$utf8_file);
53 print "File falls outside of MIGWORKDIR ($MIGWORKDIR): $file\n";
58 ###############################################################################
62 my $utf8_file = shift;
64 my $tracked_file_id = EMig::check_for_tracked_file($file);
65 if ($tracked_file_id) {
66 my $data = EMig::status_this_file($file);
67 print "skipping the iconv'ing of tracked file: $file\n";
69 my $dbh = EMig::db_connect();
71 $utf8_file = $file . '.utf8';
73 if (! -e $utf8_file) {
74 die "utf8 file does not exist: $utf8_file\n";
78 UPDATE $MIGSCHEMA.tracked_file
79 SET utf8_filename = " . $dbh->quote($utf8_file) . "
80 WHERE base_filename = " . $dbh->quote($file) . "
82 ") || die "Error inserting into table $MIGSCHEMA.tracked_file: $!\n";
83 EMig::db_disconnect($dbh);
85 print "File not currently tracked: $file\n";