Transferring / Migrating an entire Catalog in Magento - magento

I've been trying to transfer the entire catalog from one Magento server to another and I've been experiencing some significant problems.
I can get most of the catalog data across, but I always end up missing something like product swatches, product categories or a product's custom options. To get these across I then end up building my own scripts that queries Magento, writes the data to a CSV file of my own design, and then write another script that will add this data to the other server.
Ive been asking the other developers in house, and apparently this is how they do every migration. They spend ages building lots of custom scripts just to transfer the catalog across, and apparently the different Magento sites are so different they have to build entirely new scripts when they transfer the next site.
Is this a common experience for everybody?
I feel like there must be a better way. Does anybody know of a better way to transfer the entire catalog (not just the products, but everything) to another server? Can we not just copy across the entire SQL Database?

You can export the products using Magento export wizard by going into System -> import/export ->export
Then from export settings select Entity type Products and Export File Format as CSV
After getting the CSV file you can import the whole catalog using the Magento same wizard or You can use data flow.
The other option around to import bigger catalogs in Magento is to Use Magmi.
http://wiki.magmi.org/index.php?title=Magmi_Wiki
I hope this will help

There are many ways you can migrate your magento store from one server to another.
If you want to transfer complete magento site, then you should try with database import/export. Its easy and fast process. You can follow Site Ground tutorial for this
If you want to transfer only data such as product, catalog, customers, orders etc, then you can try magmi importer its easy and fast for importing data. Also you can try magento data flow profiles as well.

Related

Best method to import products, customers and Orders in Magento

I am working on a new magento website whose design integration and functionality is almost complete. Now before I make the site live I need to import all my existing site data to my magento site. My old site has around 1000 products and is not a magento site. So I will get an excel sheet but its not in the format of magento excel sheet. So when i compare the current excel and create a new excel sheet for magento its very time consuming. So what is the best and speedy method to import products to a magento site. Anybody know please share the idea. It will be very helpful.
To import Products & Customers from another source. we have three option:
export data in CSV compatible with magento and import in magento.
you can use third party paid service for data migartion if it is supported by them. http://www.shopping-cart-migration.com. If you can afford this paid service then it is best time saving solution.
you can create a custom script to import data from csv that is not compatible or direct from external db.
one good product import script url as follows: http://www.fontis.com.au/blog/magento/creating-magento-products-script
For importing Order in magento I will suggest you to use third party service.

Best way to import 80.000 products in Magento every night?

So I've been asked by a client for an online store in which he need each night to delete all the products and import again aprox. 80.000 products.
Of course I thought about Magento. But as we all know the importing process is a pain in the ass.
The best option is to use MAGMI of course and the import doesn't take long and it also has a nice utility that quickly empties the database and resets the product ID counter.
The problem is with the bloody reindex operation.
MAGMI has a plugin called Magento Reindexer which doesn't work in my case. I guess it needs to ensure security configuration enable "shell_exec()" calls from php. I dunno how to do that.
To my only choice is to reindex using the browser from the admin.
Of course it's not the best solution specially since it times out and it doesn't work.
So I need to give the client two options:
to create a cron job that would use MAGMI's Clear Catalog utility to empty the database and then use MAGMI to import the same CSV file every night. So all the client would have to do is reupload the CSV file in the same location every night.
Give the client the possibility to manually make the import when he wants using MAGMI and of course empty the database using the same Clear Catalog utility from the MAGMI interface.
Either way I have to find a solution for the reindexing problem.
Does anyone have a similar experience or maybe a solution?
Thanks in advance!
You do not need to empty the database with each import. Magmi has the ability to update products on the fly without deleting them first.
If your concern is removing products that are no longer in the CSV, you can use a plugin I wrote and posted on StackOverflow here: https://stackoverflow.com/a/18447266/1332068
The indexer issue has also been asked about and answered on this site as well.
https://stackoverflow.com/a/19384326/1332068
I urge you to search thoroughly before asking questions as there are several solutions already available for Magmi on this site.

adding data directly to a magento database

I am adding regions of a country to the database in Magento so when a user selects their country a relevant list of regions will be available in a drop down menu. To do this I believe I need to add information to directory_country_region and directory_country_region_name.
The tutorial I've been looking at states that I should add them directly to the database using sql, however I remember reading that you should not place information directly into the database using raw sql when working with Magento.
My questions are:
1- to keep in line with best practices do I need to use some magento functions to add the required information to my database or can they be dropped in using raw sql?
2- if I need to use some Magento functions how do I work out which I need to use (I have heard off and noticed the lack of documentation) or is there some online reference, even if it is limited?
3- if I am not to use a sql query why is it considered bad practice to do so in Magento?
Hello, if you want to add the information just once, you can use raw sql (faster and no drawbacks), also you are right about the 2 tables (if the country is already in directory_country). If you want to make something that will be available for more Magento instalations you have to crate a new Magento module and add the sql using the installer you can read more here http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-6-magento-setup-resources
Magento wiki is a good place to start, also there are lots of blog posts.
It's considered a bad practice because Magento has its own ORM and most of the time for your new tables (entities) you only need to create models that extend magento core models and you will have access to CRUD without any development and everyone that uses your new module will understaind what's going on.
Example for a region you can use the class Mage_Directory_Model_Region or for a collection of regions Mage_Directory_Model_Resource_Region_Collection

Exporting and importing catalog, products data using phpmyadmin in Magento

I have a broken site and i want to clean install magento but i want to keep using my old catalog and products. Is it possible to extract and populate catalog from old db to new. please let me know how and which folder to copy.
Edit : I am not a expert in php mvc or magento so i wont dive into code as i have some frontcontroller error saying about the router reach 100 etc
Magento offers a "repair"-Tool for the Database, if your site is broken, tell us WHAT is broken? Is it the DB or did you screw up with code? None the less, its not easy backing up the catalog due to the EAV Model. If you have access to the backend try exporting your catalog as csv and reimport it again.
But to be honest: If your db is broken try to fix it, if your code is broken, try to find out what is broken and then come back again

Ability to connect Magento to existing database?

I have an existing database that contains 4 tables: categories, sub-categories, products, prices. I am looking to create an ecom site using Magento leveraging the existing tables. I would rather not import the tables since products will be continually modified. I am new to Magento. What is the best way to handle this? Would I want to query my existing tables and hook into Magento bypassing their product tables? Is there a way to do this? Thanks!
I think you're choosing the wrong e-commerce system if want to use your existing database in place of the one in Magento. Magento doesn't work like this. You can't have the Magento interface and not the guts of it. They are inextricably bound (some would say, tightly coupled).
I would hire a Magento programmer and have him or her create a module for you to import your products into the Magento catalog. This module should be able to handle updates to your existing database. This can be done easily as the Magento catalog model uses the entity-attribute-value (EAV) database model pattern. Then you can continue using your database.

Resources