X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_pay.pm;h=54b8e90021697b5117621e7f429f62bc4d2812fb;hb=25b36e09790470f7c7b552f8b43ce5be972fb976;hp=153390b59c31275a0c20bb042a5ab05e07aa788b;hpb=be06add541bd150db591bf5712beaa3225c005b9;p=freeside.git

diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm
index 153390b59..54b8e9002 100644
--- a/FS/FS/cust_pay.pm
+++ b/FS/FS/cust_pay.pm
@@ -11,6 +11,7 @@ use Business::CreditCard;
 use Text::Template;
 use FS::Misc::DateTime qw( parse_datetime ); #for batch_import
 use FS::Record qw( dbh qsearch qsearchs );
+use FS::UID qw( driver_name );
 use FS::CurrentUser;
 use FS::payby;
 use FS::cust_main_Mixin;
@@ -1050,9 +1051,10 @@ sub process_upgrade_paybatch {
   ###
   # migrate batchnums from the misused 'paybatch' field to 'batchnum'
   ###
+  my $text = (driver_name =~ /^mysql/i) ? 'char' : 'text';
   my $search = FS::Cursor->new( {
     'table'     => 'cust_pay',
-    'addl_from' => ' JOIN pay_batch ON cust_pay.paybatch = CONCAT(pay_batch.batchnum) ',
+    'addl_from' => " JOIN pay_batch ON cust_pay.paybatch = CAST(pay_batch.batchnum AS $text) ",
   } );
   while (my $cust_pay = $search->fetch) {
     $cust_pay->set('batchnum' => $cust_pay->paybatch);