change to the data directly automatically with mig env use
[migration-tools.git] / kmig.d / bin / csv2mysql
index f131f5b..bb2bba1 100755 (executable)
@@ -100,19 +100,23 @@ sub write_sql_table {
     } else {
            $cfg->{table_name} = 'm_' . lc(basename($fn)); $cfg->{table_name} =~ s/[\-\. ]/_/g;
            print $sql "DROP TABLE IF EXISTS $cfg->{table_name};\n";
-           print $sql "CREATE TABLE $cfg->{table_name} (x_migrate BOOLEAN);\n";
+           print $sql "CREATE TABLE $cfg->{table_name} (x_migrate BOOLEAN) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;\n";
     }
     push @indices, 'x_migrate';
        foreach my $column (@{ $info }) {
                my $cn = $column->{'header'};
-               if ($cn =~ /^x_/) {
+               if ($cn =~ /^x_/ && $cn ne 'x_count') {
                        push @indices, $cn;
                }
                my $col_info = Dumper($column);
                $col_info =~ s/^\$VAR1 = //;
                print $sql "ALTER TABLE $cfg->{table_name} ADD COLUMN ";
                print $sql "l_" unless $cfg->{no_legacy_prefix} or $column->{'header'} =~ /^x_/ or $column->{'header'} =~ /^l_/;
-        print $sql "$cn TEXT; ";
+        if ($column->{'header'} eq 'x_egid' || $column->{'header'} eq 'x_hseq') {
+            print $sql "$cn BIGINT; ";
+        } else {
+            print $sql "$cn TEXT; ";
+        }
         print $sql " /*\n         $col_info   */\n";
        }
        foreach my $cn (@indices) {