Hi Abantecart
I am successfully migrate data from Abantecart to Abantecart but face some little problem to migrate Image.
I create abantecart.php migration file which is help me to migrate the data between abantecart to abantecart but not image.
Step 1: Download Abantecart and extract it.
Step 2: Put the code in "admin\language\english\tool\migration.xml" line 70
<definition>
<key>entry_cart_abantecart</key>
<value><![CDATA[Abantecart]]></value>
</definition>
Step 3: Replace this on "admin\model\tool\migration.php" line 32 and line 738
* @var Migration_Abantecart|Migration_Oscmax|Migration_OC15x|Migration_Zen|Migration_Osc|Migration_OC|Migration_Cre $cart
Step 4: Upload "abantecart.php" file to "admin\model\tool\migration" folder
Step 5: Upload it on your server and install it.
Step 6: Go to System>Data>Migration Tool to start migration.
In this file i remove some of the image related code so it work fine. But in abantecartImage.php (Rename it "abantecartImage.php" to "abantecart.php" before uploading) file all the code are available and on this script during migration the error will come.
The problem is in (Code copy from OpenCart migration file available in "admin\model\tool\migration" folder)
line 92-109:
$result = array();
foreach ($categories->rows as $item) {
$result[$item['category_id']] = $item;
$item['image'] = trim($item['image']);
$result[$item['category_id']]['image'] = array();
if ($item['image']) {
$img_uri = $this->data['cart_url'];
if (substr($img_uri, -1) != '/') {
$img_uri .= '/';
}
$img_uri .= 'image/';
$result[$item['category_id']]['image']['db'] = str_replace(' ', '%20', $img_uri . $item['image']);
}
}
return $result;
}
line 122-135:
$result = array();
foreach ($items->rows as $item) {
$result[$item['manufacturer_id']] = $item;
$item['image'] = trim($item['image']);
$result[$item['manufacturer_id']]['image'] = array();
if ($item['image']) {
$img_uri = $this->data['cart_url'];
if (substr($img_uri, -1) != '/') {
$img_uri .= '/';
}
$img_uri .= 'image/';
$result[$item['manufacturer_id']]['image']['db'] = str_replace(' ', '%20', $img_uri . $item['image']);
}
}
line 186-207:
$result = array();
foreach ($products->rows as $item) {
$result[$item['product_id']] = $item;
$item['image'] = trim($item['image']);
$result[$item['product_id']]['image'] = array();
if ($item['image']) {
$img_uri = $this->data['cart_url'];
if (substr($img_uri, -1) != '/') {
$img_uri .= '/';
}
$img_uri .= 'image/';
$result[$item['product_id']]['image']['db'] = str_replace(' ', '%20', $img_uri . $item['image']);
//additional images
$imgs = $this->src_db->query("SELECT * FROM " . $this->data['db_prefix'] . "product_image WHERE product_id = '".$item['product_id']."' ORDER BY product_id, sort_order");
foreach ($imgs->rows as $img) {
$uri = str_replace(' ', '%20', $img_uri . $img['image']);
if (!in_array($uri, (array)$result[$img['product_id']]['image'])) {
$result[$img['product_id']]['image'][] = $uri;
}
}
}
}
Please help me to change this code and successfully migrate all database as well as image of the Product, Category, Manufacture and other from one Abantecart to another.