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<kmig-skip-iconv> <file> [utf8 file]
18 ###############################################################################
23 HOME MYSQL_HOST MYSQL_TCP_PORT MYSQL_USER MYSQL_DATABASE MYSQL_PW
24 MIGSCHEMA 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 KMig::die_if_no_env_migschema();
37 KMig::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 = KMig::check_for_tracked_file($file);
65 if ($tracked_file_id) {
66 my $data = KMig::status_this_file($file);
67 print "skipping the iconv'ing of tracked file: $file\n";
69 my $dbh = KMig::db_connect();
71 $utf8_file = $file . '.utf8';
73 if (! -e $utf8_file) {
74 die "utf8 file does not exist: $utf8_file\n";
79 SET utf8_filename = " . $dbh->quote($utf8_file) . "
80 WHERE base_filename = " . $dbh->quote($file) . "
82 ") || die "Error inserting into table m_tracked_file: $!\n";
83 KMig::db_disconnect($dbh);
85 print "File not currently tracked: $file\n";