VirtueMart Forum

VirtueMart 2 + 3 + 4 => Installation, Migration & Upgrade => Topic started by: Deepjungle on August 17, 2012, 21:08:45 PM

Title: Migration from 1.19 to 2.08e (Joomla 2.5.6)
Post by: Deepjungle on August 17, 2012, 21:08:45 PM
Hello,

i get some problems with migration from 1.19 to 2.0.8e. When i try to migrate the orders  and check the box that the old number system have to be used only the new order_numbers are created. In germany whe need a continuous order and invoice numbers. The second problem is, that order_date and modify_date have the actual import date as new date. Thats wrong in my opionion. We need the original dates in the database not new ones. I tried to check the problems and found out, that the function _changeToStamp($dateIn) in migrator.php returns the wrong value. It seems that the delivered integer value from the old db entries is not converted to the new datetime format in the new database.

Are there any workarounds or fixes for this problems ?

Greetings Deepjungle
Title: Re: Migration from 1.19 to 2.08e (Joomla 2.5.6)
Post by: Deepjungle on August 18, 2012, 09:44:14 AM
Found the problem. This is problem that has to be fixed by virtuemart developers. See the following code for Joomla.utilities.date

/**
* Gets the date as an MySQL datetime string.
*
* @param   boolean  $local  True to return the date string in the local time zone, false to return it in GMT.
*
* @return  string   The date string in MySQL datetime format.
*
* @link http://dev.mysql.com/doc/refman/5.0/en/datetime.html
* @since   11.1
* @deprecated 12.1 Use JDate::toSql()
*/
public function toMySQL($local = false)
{
JLog::add('JDate::toMySQL() is deprecated. Use JDate::toSql() instead.', JLog::WARNING, 'deprecated');
return $this->format('Y-m-d H:i:s', $local, false);
}



You have to use the following code in migrator.php

private function _changeToStamp($dateIn){

$date = JFactory::getDate($dateIn);
return $date->toSql();
}


Greetings Deepjungle
Title: Re: Migration from 1.19 to 2.08e (Joomla 2.5.6)
Post by: Milbo on August 20, 2012, 13:36:22 PM
you do not need a continuos number. First

Second, it is producing a continuous number, just a bit hidden.

yepp is so, das ding ist rechtskonform wie vor 5 jahren, aber ist eh abgeschafft seit mehr als einem jahr. Muss nur unique sein.