"Wie bekomme ich meine Daten eines anderen xxCommerce-basierenden
Shop Systems in die Ziel-Datenbank meines neuen Shops"
ist eine immer wieder gern gestellte Frage, die auch immer wieder mehr mit Vermutungen als mit Fakten beantwortet wird.
Um
dieses Problem ein für allemal zu lösen, habe ich ein PHP-Skript
entwickelt, das diese Aufgabe (semi)-automatisch erledigt! (Nachdem das
aus Zeitgründen fast 2 Jahre fast fertig in der Ecke lag, habe ich mir
jetzt endlich die Zeit genommen, das fertig zu stellen.)
Das Skript "xxc_import.php" erledigt diese Aufgabe.
Ob von osCommerce nach xtCommerce, oder gleich von osCommerce, olCommerce und xtCommerce nach "Gambio (GX)", oder von einer früheren Version eines Shop-Systems auf eine aktuelle Version:
alles ist möglich!
Natürlich kann das Skript mit allen Shops verwendet werden, die auf der xxCommerce-Datenbankstrukturen aufbauen, auch wenn sie zuvor nicht genannt wurden.....
Um
die gewollte Flexibilität zu erreichen, ohne für jedes Zielsystem
eigene Import-Programme zu benötigen, habe ich einen anderen Weg
verfolgt:
Aus der lexikalischen Analyse der SQL-Befehle zur Installation des Ziel-Shops, und von PHPMyAdmin-Dumps der Struktur und der Daten derImport-Datenbank werden die evtl. notwendigen SQL-Befehle generiert, um die zu übertragenden Daten in die Ziel-Datenbank zu importieren.
Es werden dabei die Felder und Tabellen identifiziert, die in der Ziel-Datenbank nicht(!)
vorhanden sind, und es werden die notwendigen SQL-Befehle erstellt, die
notwendig sind, um mit PHPMyAdmin die Ziel-Datenbank so zu erweitern,
dass alle Felder und Tabellen der Import-Datenbank in der
Ziel-Datenbank enthalten sind. (Dabei werden auch Änderungen der
Index-Strukturen berücksichtigt!)
Damit kann man endlich den Import seiner Daten in die Ziel-Datenbank einfach bewerkstelligen, und das unabhängig vom verwendeten xxCommerce-Shop und dessen Versions- und Contribution-Stand!
Eines zur Klarstellung (obwohl es eigentlich selbstverständlich ist):
Daten von Erweiterungen des Quell-Systems ("Contributions") können so zwar in die Ziel-Datenbank übernommen werden, aber diese verwenden kann man im diese Zielsystem natürlich nur, wenn dort die entsprechenden Module installiert sind!
Als zwar sachlich sinnloser, aber sehr rigoroser Abschluss-Test wurde in eine "xtCommerce 3.04 SP 2.1"-Datenbank die Daten einer "Gambio GX"-Installation (mit Performance-Update) eingespielt.
Die "Gambio GX"-Datenbank
ist erheblich modifiziert und erweitert gegenüber der xtCommerce
Datenbank, so dass (hoffentlich) alle(?) denkbaren Update-Probleme
damit getestet werden konnten.
Daraus wurden so 650 Zeilen "CREATE TABLE"- und "ALTER TABLE"- Anweisungen erstellt, um die Struktur der Ziel-Datenbank aufnahmefähig für den Daten-Dump der "Gambio GX"-Datenbank zu machen...
Die gute Nachricht ist:
danach konnte "Gambio GX" wunderbar mit dieser (ehemaligen) xtCommerce-Datenbank arbeiten, mit allen Kategorien, Kunden und Produkten usw.....
Aber ich bin mir ziemlich sicher , dass da noch das eine oder andere "Problemchen" auftreten kann....
Das Ganze ist nämlich eine ziemlich komplexe Angelegenheit, sind doch im Laufe der Zeit so 1.350 Zeilen Code daraus geworden.
Bei Problemen einfach melden!
In der Datei "automatischer_daten_import.html" im angefügten Archiv ist das Ganze noch genauer beschrieben.
(Semi-)Automatischer Import beliebiger
xxCommerce Shop-Daten in eine xxCommerce-Datenbank
Autor: Avenger
deliciousme@freenet.de
http://www.ecombase.de/forum/avenger-m2915.html
© Avenger
Alle Rechte liegen beim Autor.
Die Verwendung dieser Software erfolgt ausschließlich auf eigenes Risiko des Anwenders!
Ein Gewährleistung jeglicher Art ist nicht gegeben, ebenso keine Verpflichtung zur Behebung evtl. auftretender Programmfehler.
"Wie bekomme ich meine Daten eines anderen xxCommerce-basierenden Shop-Systems in die Ziel-Datenbank" ist eine immer wieder gern gestellte Frage, die auch immer wieder mehr mit Vermutungen als mit Fakten beantwortet wird.
Um dieses Problem ein für allemal zu lösen, wurde ein PHP-Skript entwickelt, das diese Aufgabe semi-automatisch erledigt.
Ob von osCommerce nach xtCommerce, oder gleich von osCommerce, olCommerce und xtCommerce nach "Gambio (GX)", oder von einer früheren Version eies Shop-Systems auf eine aktuelle Version: alles ist möglich!
Natürlich kann das Skript mit allen Shops verwendet werden, die auf der gleichen Datenbankstruktur aufbauen.
Das Skript "xxc_import.php", das im Verzeichnis "admin" des Shops liegen muss, erledigt diese Aufgabe.
Um diese Flexibilität zu erreichen, wurde ein neuer Weg verfolgt:
Aus der Analyse der SQL-Befehle zur Installation des Ziel-Shops, und von PHPMyAdmin-Dumps der Struktur und der Daten der Import-Datenbank werden die evtl. notwendigen SQL-Befehle generiert, um die zu übertragenden Daten in die Ziel-Datenbank zu importieren.
Es werden die Felder und Tabellen identifiziert, die in der Ziel-Datenbank nicht(!) vorhanden sind, und es werden die notwendigen SQL-Befehle erstellt, die notwendig sind, um mit PHPMyAdmin die Ziel-Datenbank so zu erweitern, dass alle Felder und Tabellen der Import-Datenbank in der Ziel-Datenbank enthalten sind. (Dabei werden auch Änderungen der Index-Strukturen berücksichtigt.)
Damit kann auch der normale Anwender endlich den Import seiner Daten in die Ziel-Datenbank einfach bewerkstelligen, und das unabhängig vom verwendeten xxCommerce-Shop und dessen Versions- und Contribution-Stand!
Eines vorab zur Klarstellung:
|
Daten von Erweiterungen des Quell-Systems
("Contributions") können so zwar in die Ziel-Datenbank
übernommen werden, aber diese verwenden kann man im diese Zielsystem natürlichnur, wenn dort die entsprechenden Module installiert sind! |
Der Ablauf eines Datenimports in die
Ziel-Datenbankist damit wie folgt:
| 1. | Man erstellt mit PHPMyAdmin einen Struktur-Export
der aktuellen Datenstruktur der Import-Datenbank:
Wichtig ist dabei, dass man dazu in PHPMyAdmin folgende Optionen anwählt bzw. abwählt:
Die Option "SQL-Export-Kompatibilität" ist auf "NONE"
zu setzen, als "Exporttyp" ist "INSERT", zu
wählen! |
||||||||||||||||||||||||||||||
| 2. | Man erstellt nun mit PHPMyAdmin einen Daten-Export der aktuellen
Daten der Import-Datenbank:
Wichtig ist dabei, dass man dazu in PHPMyAdmin folgende Optionen anwählt bzw. abwählt:
Die Option "SQL-Export-Kompatibilität" ist auf "NONE" zu setzen, als "Exporttyp" ist "INSERT", zu wählen! |
||||||||||||||||||||||||||||||
| 3. | Man installiert das Zielsystem (z.B. "Gambio GX").
Man installiert das Programm "xxc_import.php". Dazu alle Dateien des Distributions-Archivs in das Shop-Wurzelverzeichnis(!) kopieren, und die Befehle der Datei "xxc_import.sql" mit PHPMyAdmin auf die Ziel-Datenbank anwenden. Man startet dann den Shop und loggt sich als "Haupt-Admin" ein. Wichtig: Das Skript kann nurvom Haupt-Admin (Kunden-ID "1") ausgeführt werden! Dann wird mit "http://www.meinserver.de/admin/xxc_import.php" das Import-Skript gestartet. Dieses gibt dann die folgende Maske aus:
Die Verwendung dieses Programms erfolgt ausschließlich auf eigenes Risiko des Anwenders! Bitte geben Sie in die folgenden Felder die Struktur-Dumps der aktuellen Ziel- und der Import-Datenbank, sowie den Speicherort des PHPMyAdmin-Daten-Dumps der aktuellen Import-Datenbank ein. Hilfe Die "Installations-SQL der Ziel-Datenbank" ist z.B. "xtc_installer/gambio.sql", also die SQL-Datei, die bei der Installation zur Erstellung der Datenbank verwendet wird.Nach Auswahl der notwendigen Dateien wird mit "Absenden" die Analyse gestartet. |
||||||||||||||||||||||||||||||
| 4. | Nachdem die Information für den Struktur-Update verfügbar ist,
überarbeitet "xxc_import.php" im nächsten Schritt die SQL-Befehle
der Import-Daten-Datei so, dass die Daten importiert werden
können, und fügt diese in die neue SQL-Datei ein.
Weiterhin wird in die erste Zeile des Daten-Dumps die Anweisung "SET SESSION sql_mode='';" vorangestellt, wenn die Ziel-Datenbank auf einem MySQL 5.x-Server läuft. (Die PHPMyAdmin-SQL-Anweisungen sind nämlich teilweise mit den strikteren MySQL 5 SQL-Anforderungen noch nicht kompatibel, so dass es andernfalls Fehler gäbe.) Für alle Tabellen, in die bei der Shop-Installation schon Daten eingebracht werden (Installations-SQL der Ziel-Datenbank), werden die Import-Befehle gelöscht, da diese die Shop-Konfiguration betreffen! |
||||||||||||||||||||||||||||||
| 5 | Am Ende der Verarbeitung zeigt das Programm u..a. die folgende Information: Mit den in der Datei "import/gambio_to_xtcommerce.sql"
gespeicherten SQL-Befehlen kann die Ziel-Datenbank um die Import-Daten
erweitert werden
|
||||||||||||||||||||||||||||||
Beispiel 1:
Als zwar sachlich sinnloser, aber sehr rigoroser Test wurde in eine "xtCommerce 3.04 SP 2.1"-Datenbank die Daten einer "Gambio GX"-Installation (mit Performance-Update) eingespielt.
Die daraus generierten SQL-Anweisungen für den Struktur-Update der xtCommerce Datenbank sind wie
folgt:
(Die "Gambio GX"-Datenbank ist erheblich modifiziert gegenüber der xtCommerce Datenbank, so dass
alle(?) denkbaren Update-Probleme damit getestet werden konnten.)
SET SESSION sql_mode='';
DROP TABLE IF EXISTS `banktransfer_blz`;
CREATE TABLE IF NOT EXISTS `banktransfer_blz` (
`blz` int(10) NOT NULL default '0',
`bankname` varchar(255) NOT NULL default '',
`prz` char(2) NOT NULL default '',
PRIMARY KEY (blz)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `customers_wishlist`;
CREATE TABLE IF NOT EXISTS `customers_wishlist` (
`customers_basket_id` int(11) NOT NULL auto_increment,
`customers_id` int(11) NOT NULL default '0',
`products_id` tinytext NOT NULL,
`customers_basket_quantity` decimal(15,4) NOT NULL default '0.0000',
`final_price` decimal(15,4) NOT NULL default '0.0000',
`customers_basket_date_added` varchar(8) default NULL,
PRIMARY KEY (customers_basket_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `customers_wishlist_attributes`;
CREATE TABLE IF NOT EXISTS `customers_wishlist_attributes` (
`customers_basket_attributes_id` int(11) NOT NULL auto_increment,
`customers_id` int(11) NOT NULL default '0',
`products_id` tinytext NOT NULL,
`products_options_id` int(11) NOT NULL default '0',
`products_options_value_id` int(11) NOT NULL default '0',
PRIMARY KEY (customers_basket_attributes_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_admin_boxes`;
CREATE TABLE IF NOT EXISTS `gm_admin_boxes` (
`boxes_id` int(11) NOT NULL auto_increment,
`customers_id` int(11) NOT NULL,
`box_key` varchar(64) NOT NULL,
`box_status` tinyint(4) NOT NULL,
PRIMARY KEY (boxes_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_admin_favorites`;
CREATE TABLE IF NOT EXISTS `gm_admin_favorites` (
`favorites_id` int(11) NOT NULL auto_increment,
`customers_id` int(11) NOT NULL,
`link_key` varchar(255) NOT NULL,
`sort_order` int(11) NOT NULL,
PRIMARY KEY (favorites_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_bookmarks`;
CREATE TABLE IF NOT EXISTS `gm_bookmarks` (
`gm_bookmarks_id` int(11) NOT NULL auto_increment,
`gm_bookmarks_name` varchar(255) default NULL,
`gm_bookmarks_link` varchar(255) default NULL,
`gm_bookmarks_image` varchar(255) default NULL,
PRIMARY KEY (gm_bookmarks_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_boxes`;
CREATE TABLE IF NOT EXISTS `gm_boxes` (
`boxes_id` int(11) NOT NULL auto_increment,
`box_name` varchar(64) NOT NULL,
`position` varchar(32) NOT NULL,
`box_status` tinyint(1) NOT NULL,
PRIMARY KEY (boxes_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_configuration`;
CREATE TABLE IF NOT EXISTS `gm_configuration` (
`gm_configuration_id` int(11) NOT NULL auto_increment,
`gm_key` varchar(255) NOT NULL default '',
`gm_value` text NOT NULL,
`gm_group_id` int(11) NOT NULL default '0',
`gm_sort_order` int(5) NOT NULL default '0',
PRIMARY KEY (gm_configuration_id),
KEY gm_key (gm_key)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_contents`;
CREATE TABLE IF NOT EXISTS `gm_contents` (
`gm_contents_id` int(10) unsigned NOT NULL auto_increment,
`languages_id` int(10) unsigned NOT NULL default '0',
`gm_key` varchar(255) NOT NULL default '',
`gm_value` text NOT NULL,
`gm_group_id` int(11) NOT NULL default '0',
`gm_sort_order` int(5) NOT NULL default '0',
PRIMARY KEY (gm_contents_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_counter_extern_search`;
CREATE TABLE IF NOT EXISTS `gm_counter_extern_search` (
`gm_counter_extern_search_id` int(10) NOT NULL auto_increment,
`gm_counter_extern_search_name` varchar(255) default NULL,
`gm_counter_extern_search_engine` varchar(255) default NULL,
`gm_counter_extern_search_hits` int(10) NOT NULL default '0',
PRIMARY KEY (gm_counter_extern_search_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_counter_info`;
CREATE TABLE IF NOT EXISTS `gm_counter_info` (
`gm_counter_info_id` int(10) NOT NULL auto_increment,
`gm_counter_info_type_id` int(10) NOT NULL default '0',
`gm_counter_info_hits` int(10) NOT NULL default '0',
`gm_counter_info_name` varchar(255) NOT NULL default '',
PRIMARY KEY (gm_counter_info_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_counter_info_type`;
CREATE TABLE IF NOT EXISTS `gm_counter_info_type` (
`gm_counter_info_type_id` int(10) NOT NULL auto_increment,
`gm_counter_info_type_name` varchar(255) default NULL,
PRIMARY KEY (gm_counter_info_type_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_counter_intern_search`;
CREATE TABLE IF NOT EXISTS `gm_counter_intern_search` (
`gm_counter_intern_search_id` int(10) NOT NULL auto_increment,
`gm_counter_intern_search_name` varchar(255) default NULL,
`gm_counter_intern_search_hits` int(10) NOT NULL default '0',
PRIMARY KEY (gm_counter_intern_search_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_counter_ip`;
CREATE TABLE IF NOT EXISTS `gm_counter_ip` (
`gm_ip_id` int(10) NOT NULL auto_increment,
`gm_ip_value` varchar(255) default NULL,
`gm_ip_date` datetime NOT NULL,
PRIMARY KEY (gm_ip_id),
KEY gm_ip_date (gm_ip_date)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_counter_page`;
CREATE TABLE IF NOT EXISTS `gm_counter_page` (
`gm_counter_page_id` int(10) NOT NULL auto_increment,
`gm_counter_page_name` varchar(255) default NULL,
`gm_counter_page_type` varchar(255) default NULL,
`gm_counter_page_date` datetime NOT NULL,
PRIMARY KEY (gm_counter_page_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_counter_page_history`;
CREATE TABLE IF NOT EXISTS `gm_counter_page_history` (
`gm_counter_page_history_id` int(10) NOT NULL auto_increment,
`gm_counter_page_history_name` varchar(255) default NULL,
`gm_counter_page_history_type` varchar(255) default NULL,
`gm_counter_page_history_hits` int(10) default NULL,
`gm_counter_page_history_date` datetime NOT NULL,
PRIMARY KEY (gm_counter_page_history_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_counter_visits`;
CREATE TABLE IF NOT EXISTS `gm_counter_visits` (
`gm_counter_id` int(10) NOT NULL auto_increment,
`gm_counter_visits_total` int(10) NOT NULL default '0',
`gm_counter_date` datetime NOT NULL,
PRIMARY KEY (gm_counter_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_css_style`;
CREATE TABLE IF NOT EXISTS `gm_css_style` (
`gm_css_style_id` int(11) NOT NULL auto_increment,
`style_name` varchar(255) NOT NULL default '',
`editable` tinyint(4) NOT NULL default '1',
PRIMARY KEY (gm_css_style_id),
KEY name (style_name)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_css_style_content`;
CREATE TABLE IF NOT EXISTS `gm_css_style_content` (
`gm_css_style_content_id` int(11) NOT NULL auto_increment,
`gm_css_style_id` int(11) NOT NULL default '0',
`style_attribute` varchar(32) NOT NULL default '',
`style_value` text NOT NULL,
`editable` tinyint(4) NOT NULL default '1',
PRIMARY KEY (gm_css_style_content_id),
KEY gm_css_style_id (gm_css_style_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_css_style_fonts`;
CREATE TABLE IF NOT EXISTS `gm_css_style_fonts` (
`gm_css_style_fonts_id` int(10) unsigned NOT NULL auto_increment,
`font` varchar(255) NOT NULL,
PRIMARY KEY (gm_css_style_fonts_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_emails`;
CREATE TABLE IF NOT EXISTS `gm_emails` (
`gm_emails_id` int(10) unsigned NOT NULL auto_increment,
`gm_email_id` int(10) unsigned NOT NULL default '0',
`languages_id` int(10) unsigned NOT NULL default '0',
`folder` varchar(64) NOT NULL default '',
`filename` varchar(255) NOT NULL default '',
`backup_original_html` text NOT NULL,
`backup_user_html` text NOT NULL,
`backup_original_txt` text NOT NULL,
`backup_user_txt` text NOT NULL,
PRIMARY KEY (gm_emails_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_guestbook`;
CREATE TABLE IF NOT EXISTS `gm_guestbook` (
`gm_guestbook_id` int(10) unsigned NOT NULL auto_increment,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`name` varchar(255) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`homepage` varchar(255) NOT NULL default '',
`message` text NOT NULL,
`ip` varchar(255) NOT NULL default '',
`activated` int(1) NOT NULL default '0',
PRIMARY KEY (gm_guestbook_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_guestbook_customers_status`;
CREATE TABLE IF NOT EXISTS `gm_guestbook_customers_status` (
`gm_guestbook_customers_status_id` int(10) unsigned NOT NULL auto_increment,
`customers_status_id` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (gm_guestbook_customers_status_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_lang_files`;
CREATE TABLE IF NOT EXISTS `gm_lang_files` (
`lang_files_id` int(11) NOT NULL auto_increment,
`file_path` varchar(255) NOT NULL,
PRIMARY KEY (lang_files_id),
KEY lang_files_id (lang_files_id,file_path),
KEY file_path (file_path)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_lang_files_content`;
CREATE TABLE IF NOT EXISTS `gm_lang_files_content` (
`lang_files_content_id` int(11) NOT NULL auto_increment,
`lang_files_id` int(11) NOT NULL,
`constant_name` varchar(255) NOT NULL,
`constant_value` text NOT NULL,
PRIMARY KEY (lang_files_content_id),
KEY lang_files_id (lang_files_id),
FULLTEXT KEY constant_value (constant_value)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_lang_module`;
CREATE TABLE IF NOT EXISTS `gm_lang_module` (
`language_module_id` int(11) NOT NULL auto_increment,
`module_name` varchar(128) NOT NULL,
PRIMARY KEY (language_module_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_lang_module_content`;
CREATE TABLE IF NOT EXISTS `gm_lang_module_content` (
`lang_module_content_id` int(11) NOT NULL auto_increment,
`language_module_id` int(11) NOT NULL,
`content_key` varchar(128) NOT NULL,
`content_value` text NOT NULL,
PRIMARY KEY (lang_module_content_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_login_history`;
CREATE TABLE IF NOT EXISTS `gm_login_history` (
`gm_login_history_id` int(10) NOT NULL auto_increment,
`gm_login_ip` varchar(15) NOT NULL default '',
`gm_login_date` datetime NOT NULL,
PRIMARY KEY (gm_login_history_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_prd_img_alt`;
CREATE TABLE IF NOT EXISTS `gm_prd_img_alt` (
`img_alt_id` int(11) NOT NULL auto_increment,
`image_id` int(11) NOT NULL default '0',
`products_id` int(11) NOT NULL,
`language_id` int(11) NOT NULL default '1',
`gm_alt_text` varchar(255) default NULL,
PRIMARY KEY (img_alt_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `gm_search_history`;
CREATE TABLE IF NOT EXISTS `gm_search_history` (
`gm_search_history_id` int(10) NOT NULL auto_increment,
`gm_search_ip` varchar(15) NOT NULL default '',
`gm_search_date` datetime NOT NULL,
PRIMARY KEY (gm_search_history_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `luup`;
CREATE TABLE IF NOT EXISTS `luup` (
`transaction_id` varchar(50) NOT NULL,
`payment_status` varchar(10) NOT NULL,
`order_id` int(11) default NULL,
PRIMARY KEY (transaction_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `orders_clickandbuy`;
CREATE TABLE IF NOT EXISTS `orders_clickandbuy` (
`id` int(11) NOT NULL auto_increment,
`orders_id` int(11) NOT NULL,
`f_transactionID` varchar(50) NOT NULL,
`x_transactionID` varchar(255) NOT NULL,
`f_externalBDRID` varchar(50) NOT NULL,
`f_userid` int(11) NOT NULL,
`x_userid` varchar(255) NOT NULL,
`price` decimal(9,2) NOT NULL default '0.00',
`date` datetime NOT NULL,
PRIMARY KEY (id),
KEY orders_id (orders_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `orders_iclear`;
CREATE TABLE IF NOT EXISTS `orders_iclear` (
`wsdl_id` int(11) NOT NULL auto_increment,
`orders_id` int(11) default NULL,
`basket_id` varchar(32) NOT NULL default '',
`request_id` varchar(100) NOT NULL default '',
`session_id` varchar(32) NOT NULL default '',
`status` int(4) NOT NULL default '0',
`status_message` varchar(255) default '',
`billing` text NOT NULL,
`delivery` text NOT NULL,
`accepted` datetime NOT NULL,
`basket_value` int(11) NOT NULL,
`ts` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (wsdl_id),
KEY orders_id (orders_id),
KEY basket_id (basket_id),
KEY session_id (session_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `payment_ipayment`;
CREATE TABLE IF NOT EXISTS `payment_ipayment` (
`ip_BOOKNR` varchar(255) NOT NULL,
`ip_INFO` text NOT NULL,
`ip_ORDERID` int(11) NOT NULL,
`ip_IS_CAPTURED` tinyint(1) NOT NULL default '0',
PRIMARY KEY (ip_BOOKNR),
KEY ip_ORDERID (ip_ORDERID)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `payment_ipayment_log`;
CREATE TABLE IF NOT EXISTS `payment_ipayment_log` (
`ip_LOG_ID` int(10) unsigned NOT NULL auto_increment,
`ip_LOG_MESSAGE` varchar(255) NOT NULL,
`ip_LOG_INFO` text NOT NULL,
`ip_LOG_DATE` datetime NOT NULL,
PRIMARY KEY (ip_LOG_ID)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `paypal`;
CREATE TABLE IF NOT EXISTS `paypal` (
`paypal_ipn_id` int(11) unsigned NOT NULL auto_increment,
`xtc_order_id` int(11) unsigned NOT NULL default '0',
`txn_type` varchar(32) NOT NULL default '',
`reason_code` varchar(15) default NULL,
`payment_type` varchar(7) NOT NULL default '',
`payment_status` varchar(17) NOT NULL default '',
`pending_reason` varchar(14) default NULL,
`invoice` varchar(64) default NULL,
`mc_currency` char(3) NOT NULL default '',
`first_name` varchar(32) NOT NULL default '',
`last_name` varchar(32) NOT NULL default '',
`payer_business_name` varchar(64) default NULL,
`address_name` varchar(32) default NULL,
`address_street` varchar(64) default NULL,
`address_city` varchar(32) default NULL,
`address_state` varchar(32) default NULL,
`address_zip` varchar(10) default NULL,
`address_country` varchar(64) default NULL,
`address_status` varchar(11) default NULL,
`payer_email` varchar(96) NOT NULL default '',
`payer_id` varchar(32) NOT NULL default '',
`payer_status` varchar(10) NOT NULL default '',
`payment_date` datetime NOT NULL default '0001-01-01 00:00:00',
`business` varchar(96) NOT NULL default '',
`receiver_email` varchar(96) NOT NULL default '',
`receiver_id` varchar(32) NOT NULL default '',
`txn_id` varchar(17) NOT NULL default '',
`parent_txn_id` varchar(17) default NULL,
`num_cart_items` tinyint(4) unsigned NOT NULL default '1',
`mc_gross` decimal(7,2) NOT NULL default '0.00',
`mc_fee` decimal(7,2) NOT NULL default '0.00',
`payment_gross` decimal(7,2) default NULL,
`payment_fee` decimal(7,2) default NULL,
`settle_amount` decimal(7,2) default NULL,
`settle_currency` char(3) default NULL,
`exchange_rate` decimal(4,2) default NULL,
`notify_version` decimal(2,1) NOT NULL default '0.0',
`verify_sign` varchar(128) NOT NULL default '',
`last_modified` datetime NOT NULL default '0001-01-01 00:00:00',
`date_added` datetime NOT NULL default '0001-01-01 00:00:00',
`memo` text,
`mc_authorization` decimal(7,2) NOT NULL,
`mc_captured` decimal(7,2) NOT NULL,
PRIMARY KEY (paypal_ipn_id,txn_id),
KEY xtc_order_id (xtc_order_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `paypal_status_history`;
CREATE TABLE IF NOT EXISTS `paypal_status_history` (
`payment_status_history_id` int(11) NOT NULL auto_increment,
`paypal_ipn_id` int(11) NOT NULL default '0',
`txn_id` varchar(64) NOT NULL default '',
`parent_txn_id` varchar(64) NOT NULL default '',
`payment_status` varchar(17) NOT NULL default '',
`pending_reason` varchar(64) default NULL,
`mc_amount` decimal(7,2) NOT NULL,
`date_added` datetime NOT NULL default '0001-01-01 00:00:00',
PRIMARY KEY (payment_status_history_id),
KEY paypal_ipn_id (paypal_ipn_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `personal_offers_by_customers_status_`;
CREATE TABLE IF NOT EXISTS `personal_offers_by_customers_status_` (
`price_id` int(11) NOT NULL auto_increment,
`products_id` int(11) NOT NULL default '0',
`quantity` int(11) default NULL,
`personal_offer` decimal(15,4) default NULL,
PRIMARY KEY (price_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `personal_offers_by_customers_status_0`;
CREATE TABLE IF NOT EXISTS `personal_offers_by_customers_status_0` (
`price_id` int(11) NOT NULL auto_increment,
`products_id` int(11) NOT NULL,
`quantity` int(11) default NULL,
`personal_offer` decimal(15,4) default NULL,
PRIMARY KEY (price_id),
KEY products_id (products_id,quantity)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `personal_offers_by_customers_status_1`;
CREATE TABLE IF NOT EXISTS `personal_offers_by_customers_status_1` (
`price_id` int(11) NOT NULL auto_increment,
`products_id` int(11) NOT NULL,
`quantity` int(11) default NULL,
`personal_offer` decimal(15,4) default NULL,
PRIMARY KEY (price_id),
KEY products_id (products_id,quantity)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `personal_offers_by_customers_status_2`;
CREATE TABLE IF NOT EXISTS `personal_offers_by_customers_status_2` (
`price_id` int(11) NOT NULL auto_increment,
`products_id` int(11) NOT NULL,
`quantity` int(11) default NULL,
`personal_offer` decimal(15,4) default NULL,
PRIMARY KEY (price_id),
KEY products_id (products_id,quantity)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `personal_offers_by_customers_status_3`;
CREATE TABLE IF NOT EXISTS `personal_offers_by_customers_status_3` (
`price_id` int(11) NOT NULL auto_increment,
`products_id` int(11) NOT NULL,
`quantity` int(11) default NULL,
`personal_offer` decimal(15,4) default NULL,
PRIMARY KEY (price_id),
KEY products_id (products_id,quantity)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `tag_cloud`;
CREATE TABLE IF NOT EXISTS `tag_cloud` (
`tag` varchar(64) NOT NULL default '',
`language_id` int(11) NOT NULL default '0',
`searches` int(10) unsigned NOT NULL default '1',
`offset` int(10) unsigned NOT NULL default '0',
`inserted` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (tag,language_id),
KEY offset (offset),
KEY inserted (inserted),
KEY searches (searches)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `whos_online_data`;
CREATE TABLE IF NOT EXISTS `whos_online_data` (
`session_id` tinyint(1) NOT NULL default '0',
`online_ips` longtext,
`online_ips_lost` longtext,
`online_ips_rows` longtext,
`online_cart_data` longtext,
PRIMARY KEY (session_id)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `address_book` ADD `address_class` varchar(32) NOT NULL;
ALTER TABLE `address_book` ADD INDEX entry_country_id (entry_country_id);
ALTER TABLE `address_book` ADD INDEX entry_zone_id (entry_zone_id);
ALTER TABLE `admin_access` ADD `gm_scroller` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_ebay` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_pdf` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_id_starts` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_statusbar` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_pdf_order` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_pdf_action` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_emails` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_emails_preview` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_guestbook` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_counter` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_counter_action` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_meta` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_meta_action` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_analytics` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_bookmarks` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_bookmarks_action` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_logo` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_security` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_style_edit` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_send_order` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_order_menu` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_miscellaneous` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `paypal` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_lang_edit` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_sitemap` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_sitemap_creator` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_sql` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_offline` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_lightbox` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_seo_boost` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_trusted_info` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_trusted_shop_id` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `nc_clickandbuy` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_opensearch` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_opensearch_action` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `gm_module_export` int(1) NOT NULL default '0';
ALTER TABLE `admin_access` ADD `xtbooster` int(1) NOT NULL;
UPDATE `admin_access` SET gm_scroller=1, gm_ebay=1, gm_pdf=1, gm_id_starts=1, gm_statusbar=1,
gm_pdf_order=1, gm_pdf_action=1, gm_emails=1, gm_emails_preview=1, gm_guestbook=1, gm_counter=1,
gm_counter_action=1, gm_meta=1, gm_meta_action=1, gm_analytics=1, gm_bookmarks=1,
gm_bookmarks_action=1, gm_logo=1, gm_security=1, gm_style_edit=1, gm_send_order=1, gm_order_menu=1,
gm_miscellaneous=1, paypal=1, gm_lang_edit=1, gm_sitemap=1, gm_sitemap_creator=1, gm_sql=1,
gm_offline=1, gm_lightbox=1, gm_seo_boost=1, gm_trusted_info=1, gm_trusted_shop_id=1, nc_clickandbuy=1,
gm_opensearch=1, gm_opensearch_action=1, gm_module_export=1, xtbooster=1 where customers_id=1;
ALTER TABLE `categories` ADD `group_permission_` tinyint(1) NOT NULL;
ALTER TABLE `categories` ADD `group_permission_4` tinyint(1) NOT NULL;
ALTER TABLE `categories` ADD `group_permission_5` tinyint(1) NOT NULL;
ALTER TABLE `categories` ADD `group_permission_6` tinyint(1) NOT NULL;
ALTER TABLE `categories` ADD `group_permission_7` tinyint(1) NOT NULL;
ALTER TABLE `categories` ADD `group_permission_8` tinyint(1) NOT NULL;
ALTER TABLE `categories` ADD `group_permission_9` tinyint(1) NOT NULL;
ALTER TABLE `categories` ADD `group_permission_10` tinyint(1) NOT NULL;
ALTER TABLE `categories` ADD `group_permission_11` tinyint(1) NOT NULL;
ALTER TABLE `categories` ADD `group_permission_12` tinyint(1) NOT NULL;
ALTER TABLE `categories` ADD `group_permission_13` tinyint(1) NOT NULL;
ALTER TABLE `categories` ADD `group_permission_14` tinyint(1) NOT NULL;
ALTER TABLE `categories` ADD `categories_icon` varchar(255) NOT NULL;
ALTER TABLE `categories` ADD `categories_icon_w` int(11) NOT NULL;
ALTER TABLE `categories` ADD `categories_icon_h` int(11) NOT NULL;
ALTER TABLE `categories` ADD `group_ids` varchar(50) NOT NULL default '';
ALTER TABLE `categories` ADD `gm_show_attributes` int(1) unsigned NOT NULL default '0';
ALTER TABLE `categories` ADD `gm_show_graduated_prices` int(1) unsigned NOT NULL default '0';
ALTER TABLE `categories` ADD `gm_show_qty` int(1) unsigned NOT NULL default '1';
ALTER TABLE `categories` ADD `gm_priority` varchar(3) NOT NULL default '0.5';
ALTER TABLE `categories` ADD `gm_changefreq` varchar(255) NOT NULL default 'weekly';
ALTER TABLE `categories` ADD `gm_sitemap_entry` int(1) NOT NULL default '1';
ALTER TABLE `categories` ADD `gm_show_qty_info` int(1) unsigned NOT NULL default '0';
ALTER TABLE `categories` ADD INDEX categories_id (categories_id,parent_id,categories_status,sort_order);
ALTER TABLE `categories` ADD INDEX parent_id (parent_id,categories_status,sort_order);
ALTER TABLE `categories` ADD INDEX categories_status (categories_status);
ALTER TABLE `categories_description` ADD `gm_statusbar` text NOT NULL;
ALTER TABLE `categories_description` ADD `gm_alt_text` varchar(255) default NULL;
ALTER TABLE `categories_description` ADD `gm_url_keywords` varchar(255) NOT NULL;
ALTER TABLE `categories_description` DROP PRIMARY KEY, ADD PRIMARY KEY (categories_id,language_id);
ALTER TABLE `content_manager` ADD `gm_link` text NOT NULL;
ALTER TABLE `content_manager` ADD `gm_link_target` varchar(10) NOT NULL;
ALTER TABLE `content_manager` ADD `gm_priority` varchar(3) NOT NULL default '0.5';
ALTER TABLE `content_manager` ADD `gm_changefreq` varchar(255) NOT NULL default 'weekly';
ALTER TABLE `content_manager` ADD `gm_last_modified` datetime default NULL;
ALTER TABLE `content_manager` ADD `gm_sitemap_entry` int(1) NOT NULL default '1';
ALTER TABLE `content_manager` ADD `gm_url_keywords` varchar(64) NOT NULL;
ALTER TABLE `content_manager` ADD INDEX languages_id (languages_id,file_flag,content_status,sort_order);
ALTER TABLE `content_manager` ADD INDEX content_id (content_id,languages_id);
ALTER TABLE `content_manager` ADD INDEX content_group (content_group,languages_id);
ALTER TABLE `customers` ADD `gm_privacy` text NOT NULL;
ALTER TABLE `customers` ADD `gm_privacy_date` datetime NOT NULL default '0000-00-00 00:00:00';
ALTER TABLE `customers_basket` ADD `clickandbuy_TransactionID` char(11) NOT NULL;
ALTER TABLE `customers_basket` ADD `clickandbuy_externalBDRID` varchar(11) NOT NULL;
ALTER TABLE `orders` ADD `gm_orders_id` int(11) default NULL;
ALTER TABLE `orders` ADD `gm_packings_id` int(11) default NULL;
ALTER TABLE `orders` ADD `gm_orders_code` varchar(255) NOT NULL;
ALTER TABLE `orders` ADD `gm_packings_code` varchar(255) NOT NULL;
ALTER TABLE `orders` ADD `gm_order_html` text;
ALTER TABLE `orders` ADD `gm_order_txt` text NOT NULL;
ALTER TABLE `orders` ADD `gm_order_send_date` datetime NOT NULL;
ALTER TABLE `orders` ADD `gm_send_order_status` int(1) NOT NULL;
ALTER TABLE `orders` ADD `gm_cancel_date` datetime NOT NULL;
ALTER TABLE `orders` ADD INDEX customers_status (customers_status);
ALTER TABLE `products` ADD `group_permission_` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_permission_4` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_permission_5` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_permission_6` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_permission_7` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_permission_8` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_permission_9` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_permission_10` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_permission_11` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_permission_12` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_permission_13` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_permission_14` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_ids` varchar(5) NOT NULL default '';
ALTER TABLE `products` ADD `nc_ultra_shipping_costs` varchar(5) NOT NULL default '';
ALTER TABLE `products` ADD `gm_show_date_added` int(1) unsigned NOT NULL default '0';
ALTER TABLE `products` ADD `gm_show_price_offer` int(1) unsigned NOT NULL default '0';
ALTER TABLE `products` ADD `gm_show_weight` int(1) NOT NULL;
ALTER TABLE `products` ADD `gm_price_status` int(10) unsigned NOT NULL default '0';
ALTER TABLE `products` ADD `gm_min_order` double(15,4) NOT NULL default '1.0000';
ALTER TABLE `products` ADD `gm_graduated_qty` decimal(15,4) NOT NULL default '1.0000';
ALTER TABLE `products` ADD `gm_options_template` varchar(64) default NULL;
ALTER TABLE `products` ADD `gm_priority` varchar(3) NOT NULL default '0.5';
ALTER TABLE `products` ADD `gm_changefreq` varchar(255) NOT NULL default 'weekly';
ALTER TABLE `products` ADD `gm_show_qty_info` int(1) unsigned NOT NULL default '0';
ALTER TABLE `products` ADD `gm_sitemap_entry` int(1) NOT NULL default '1';
ALTER TABLE `products` ADD `products_image_w` int(11) NOT NULL;
ALTER TABLE `products` ADD `products_image_h` int(11) NOT NULL;
ALTER TABLE `products` ADD `products_promotion_status` int(1) NOT NULL default '0';
ALTER TABLE `products` ADD `products_promotion_product_title` int(1) NOT NULL default '0';
ALTER TABLE `products` ADD `products_promotion_product_desc` int(1) NOT NULL default '0';
ALTER TABLE `products` ADD `products_image_medium` varchar(64) NOT NULL;
ALTER TABLE `products` ADD `products_image_large` varchar(64) NOT NULL;
ALTER TABLE `products` ADD `products_baseprice_show` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `products_tip` int(11) NOT NULL default '0';
ALTER TABLE `products` ADD `products_tip_status` int(1) NOT NULL default '0';
ALTER TABLE `products` ADD `products_baseprice_value` decimal(15,2) NOT NULL;
ALTER TABLE `products` ADD `products_special_shipping` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD INDEX products_id (products_id,products_status,products_date_added);
ALTER TABLE `products` ADD INDEX products_status (products_status,products_id,products_date_added);
ALTER TABLE `products` ADD INDEX products_status_2 (products_status,products_id,products_price);
ALTER TABLE `products` ADD INDEX products_status_3 (products_status,products_ordered,products_id);
ALTER TABLE `products` ADD INDEX products_status_4 (products_status,products_model,products_id);
ALTER TABLE `products` ADD INDEX products_id_2 (products_id,products_startpage,products_status,products_startpage_sort);
ALTER TABLE `products` ADD INDEX products_date_available (products_date_available,products_id);
ALTER TABLE `products` ADD INDEX products_quantity (products_quantity);
ALTER TABLE `products` ADD INDEX products_sort (products_sort);
ALTER TABLE `products` ADD INDEX products_tax_class_id (products_tax_class_id);
ALTER TABLE `products` ADD INDEX manufacturers_id (manufacturers_id);
ALTER TABLE `products_description` ADD `gm_statusbar` text NOT NULL;
ALTER TABLE `products_description` ADD `gm_alt_text` varchar(255) default NULL;
ALTER TABLE `products_description` ADD `gm_url_keywords` varchar(255) NOT NULL;
ALTER TABLE `products_description` ADD `products_promotion_title` varchar(100) default NULL;
ALTER TABLE `products_description` ADD `products_promotion_image` varchar(64) default NULL;
ALTER TABLE `products_description` ADD `products_promotion_desc` text;
ALTER TABLE `products_description` ADD `products_details` text NOT NULL;
ALTER TABLE `products_description` ADD `products_specs` text NOT NULL;
ALTER TABLE `products_description` ADD INDEX language_id (language_id,products_keywords);
ALTER TABLE `products_description` ADD INDEX language_id_2 (language_id,products_name);
ALTER TABLE `products_description` ADD FULLTEXT KEY products_name_2 (products_name);
ALTER TABLE `products_description` ADD FULLTEXT KEY products_description (products_description);
ALTER TABLE `products_description` ADD FULLTEXT KEY products_short_description (products_short_description);
ALTER TABLE `products_options_values` ADD `gm_filename` varchar(255) NOT NULL;
ALTER TABLE `products_options_values` ADD `products_options_values_desc` varchar(250) default NULL;
ALTER TABLE `products_options_values` ADD `products_options_values_image` varchar(64) default NULL;
ALTER TABLE `products_options_values` ADD INDEX products_options_values_name (products_options_values_name,language_id);
ALTER TABLE `products_options_values` ADD FULLTEXT KEY products_options_values_name_2 (products_options_values_name);
ALTER TABLE `reviews` ADD `status` tinyint(1) NOT NULL;
ALTER TABLE `whos_online` ADD `id` int(11) NOT NULL;
ALTER TABLE `whos_online` ADD `clicks` int(11) NOT NULL default '0';
ALTER TABLE `whos_online` ADD `referer` varchar(255) NOT NULL;
ALTER TABLE `whos_online` ADD PRIMARY KEY (id);
ALTER TABLE `whos_online` ADD INDEX session_id (session_id);
ALTER TABLE `whos_online` ADD INDEX ip_address (ip_address);
ALTER TABLE `whos_online` ADD INDEX time_last_click (time_last_click);
ALTER TABLE `whos_online` ADD INDEX customer_id (customer_id);
ALTER TABLE `whos_online` ADD INDEX session_id_2 (session_id);
ALTER TABLE `whos_online` ADD INDEX time_last_click_2 (time_last_click);
ALTER TABLE `whos_online` CHANGE `id` `id` int(11) NOT NULL auto_increment;
Nach dem Daten-Import konnte diese Ziel-Datenbank von "Gambio GX" verwendet werden!
Der Weg von einer "xtCommerce"-Installation zu "Gambi GX" ist da von der grundlegenden Struktur her weit weniger umfangreich zu ändern.
Hier ist allerdings ein Beispiel, das zeigt, das eben alle fehlenden und/oder geänderten Tabellen aus der alten DB übernommen werden, damit der Daten-Import fehlerfrei erfolgen kann.
DROP TABLE IF EXISTS `chc_access`;
CREATE TABLE IF NOT EXISTS `chc_access` (
`timestamp` int(14) NOT NULL default '0',
`typ`
enum('tag','kw','monat','jahr','tageszeit_wochentag_start','tageszeit','wochentag_1_Mon','wochentag_2_Tue','wochentag_3_Wed','wochentag_4_Thu','wochentag_5_Fri','wochentag_6_Sat','wochentag_7_Sun')
NOT NULL default 'tag',
`erster_eintrag` int(1) NOT NULL default '0',
`besucher_00` int(14) NOT NULL default '0',
`besucher_01` int(14) NOT NULL default '0',
`besucher_02` int(14) NOT NULL default '0',
`besucher_03` int(14) NOT NULL default '0',
`besucher_04` int(14) NOT NULL default '0',
`besucher_05` int(14) NOT NULL default '0',
`besucher_06` int(14) NOT NULL default '0',
`besucher_07` int(14) NOT NULL default '0',
`besucher_08` int(14) NOT NULL default '0',
`besucher_09` int(14) NOT NULL default '0',
`besucher_10` int(14) NOT NULL default '0',
`besucher_11` int(14) NOT NULL default '0',
`besucher_12` int(14) NOT NULL default '0',
`besucher_13` int(14) NOT NULL default '0',
`besucher_14` int(14) NOT NULL default '0',
`besucher_15` int(14) NOT NULL default '0',
`besucher_16` int(14) NOT NULL default '0',
`besucher_17` int(14) NOT NULL default '0',
`besucher_18` int(14) NOT NULL default '0',
`besucher_19` int(14) NOT NULL default '0',
`besucher_20` int(14) NOT NULL default '0',
`besucher_21` int(14) NOT NULL default '0',
`besucher_22` int(14) NOT NULL default '0',
`besucher_23` int(14) NOT NULL default '0',
`seitenaufrufe_00` int(14) NOT NULL default '0',
`seitenaufrufe_01` int(14) NOT NULL default '0',
`seitenaufrufe_02` int(14) NOT NULL default '0',
`seitenaufrufe_03` int(14) NOT NULL default '0',
`seitenaufrufe_04` int(14) NOT NULL default '0',
`seitenaufrufe_05` int(14) NOT NULL default '0',
`seitenaufrufe_06` int(14) NOT NULL default '0',
`seitenaufrufe_07` int(14) NOT NULL default '0',
`seitenaufrufe_08` int(14) NOT NULL default '0',
`seitenaufrufe_09` int(14) NOT NULL default '0',
`seitenaufrufe_10` int(14) NOT NULL default '0',
`seitenaufrufe_11` int(14) NOT NULL default '0',
`seitenaufrufe_12` int(14) NOT NULL default '0',
`seitenaufrufe_13` int(14) NOT NULL default '0',
`seitenaufrufe_14` int(14) NOT NULL default '0',
`seitenaufrufe_15` int(14) NOT NULL default '0',
`seitenaufrufe_16` int(14) NOT NULL default '0',
`seitenaufrufe_17` int(14) NOT NULL default '0',
`seitenaufrufe_18` int(14) NOT NULL default '0',
`seitenaufrufe_19` int(14) NOT NULL default '0',
`seitenaufrufe_20` int(14) NOT NULL default '0',
`seitenaufrufe_21` int(14) NOT NULL default '0',
`seitenaufrufe_22` int(14) NOT NULL default '0',
`seitenaufrufe_23` int(14) NOT NULL default '0',
KEY typ (typ),
KEY timestamp (typ,timestamp)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_config`;
CREATE TABLE IF NOT EXISTS `chc_config` (
`setting` varchar(255) NOT NULL default '',
`value` text NOT NULL,
PRIMARY KEY (setting)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_counted_users`;
CREATE TABLE IF NOT EXISTS `chc_counted_users` (
`nr` int(14) NOT NULL default '0',
`ip` varchar(255) NOT NULL default '',
`user_agent` varchar(255) NOT NULL default '',
`is_robot` int(1) NOT NULL default '0',
`timestamp` int(14) NOT NULL default '0',
`seitenaufrufe` int(14) NOT NULL default '0',
`letzte_seite` int(14) NOT NULL default '0',
`js` int(1) NOT NULL default '0',
`aufloesung` varchar(255) NOT NULL default '',
PRIMARY KEY (nr),
KEY schluessel (ip(11),user_agent(20))
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_data`;
CREATE TABLE IF NOT EXISTS `chc_data` (
`besucher_gesamt` int(14) NOT NULL default '0',
`besucher_heute` int(14) NOT NULL default '0',
`heute_timestamp` int(14) NOT NULL default '0',
`besucher_gestern` int(14) NOT NULL default '0',
`max_online:anzahl` int(14) NOT NULL default '0',
`max_online:timestamp` int(14) NOT NULL default '0',
`max_besucher_pro_tag:anzahl` int(14) NOT NULL default '0',
`max_besucher_pro_tag:timestamp` int(14) NOT NULL default '0',
`seitenaufrufe_gesamt` int(14) NOT NULL default '0',
`seitenaufrufe_heute` int(14) NOT NULL default '0',
`seitenaufrufe_gestern` int(14) NOT NULL default '0',
`seitenaufrufe_pro_besucher:besucher` int(14) NOT NULL default '0',
`seitenaufrufe_pro_besucher:seitenaufrufe` int(14) NOT NULL default '0',
`durchschnittlich_pro_tag:timestamp` int(14) NOT NULL default '0',
`durchschnittlich_pro_tag:besucher` int(14) NOT NULL default '0',
`durchschnittlich_pro_tag:seitenaufrufe` int(14) NOT NULL default '0',
`max_seitenaufrufe_pro_tag:anzahl` int(14) NOT NULL default '0',
`max_seitenaufrufe_pro_tag:timestamp` int(14) NOT NULL default '0',
`js_alle` int(14) NOT NULL default '0',
`js_robots` int(14) NOT NULL default '0',
`js_aktiv` int(14) NOT NULL default '0',
`timestamp_letztes_db_aufraeumen` int(14) NOT NULL default '0'
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_downloads_and_hyperlinks`;
CREATE TABLE IF NOT EXISTS `chc_downloads_and_hyperlinks` (
`id` int(14) unsigned NOT NULL auto_increment,
`typ` enum('download','hyperlink') NOT NULL default 'download',
`wert` varchar(255) NOT NULL default '',
`url` varchar(255) NOT NULL default '',
`timestamp_eintrag` int(14) NOT NULL default '0',
`timestamp` int(14) NOT NULL default '0',
`anzahl` int(14) NOT NULL default '0',
`in_statistik_verbergen` int(1) NOT NULL default '0',
PRIMARY KEY (id),
KEY typ (typ)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_downloads_and_hyperlinks_logs`;
CREATE TABLE IF NOT EXISTS `chc_downloads_and_hyperlinks_logs` (
`id` int(14) NOT NULL default '0',
`typ` enum('download','hyperlink') NOT NULL default 'download',
`timestamp` int(14) NOT NULL default '0',
`monat` int(6) default '0',
`anzahl` int(14) NOT NULL default '0',
KEY id (id),
KEY monat (monat),
KEY typ (typ)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_ignored_users`;
CREATE TABLE IF NOT EXISTS `chc_ignored_users` (
`id` int(14) unsigned NOT NULL auto_increment,
`ip` varchar(255) NOT NULL default '',
`host` varchar(255) NOT NULL default '',
`grund` varchar(255) NOT NULL default '',
`tmp_blocked` int(1) NOT NULL default '0',
`user_agent` varchar(255) NOT NULL default '',
`is_robot` int(1) NOT NULL default '0',
`timestamp` int(14) NOT NULL default '0',
`seitenaufrufe` int(14) NOT NULL default '0',
PRIMARY KEY (id),
KEY ip (ip(11),user_agent(20))
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_locale_information`;
CREATE TABLE IF NOT EXISTS `chc_locale_information` (
`typ` enum('host_tld','country','language') NOT NULL default 'country',
`wert` varchar(255) NOT NULL default '',
`anzahl` int(14) NOT NULL default '0',
`timestamp` int(14) NOT NULL default '0',
`monat` int(6) default '0',
KEY typ (typ),
KEY monat (monat)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_log_data`;
CREATE TABLE IF NOT EXISTS `chc_log_data` (
`nr` int(14) NOT NULL default '0',
`ip` varchar(255) NOT NULL default '',
`host` varchar(255) NOT NULL default '',
`user_agent` varchar(255) NOT NULL default '',
`is_robot` int(1) NOT NULL default '0',
`http_accept_language` varchar(255) NOT NULL default '',
`timestamp` int(14) NOT NULL default '0',
`referrer` varchar(255) NOT NULL default '',
`seitenaufrufe` int(14) NOT NULL default '0',
`seiten` text NOT NULL,
`downloads` text NOT NULL,
`hyperlinks` text NOT NULL,
`js` int(1) NOT NULL default '0',
`aufloesung` varchar(255) NOT NULL default '',
PRIMARY KEY (nr),
KEY timestamp (timestamp)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_online_users`;
CREATE TABLE IF NOT EXISTS `chc_online_users` (
`id` int(14) unsigned NOT NULL auto_increment,
`nr` int(14) NOT NULL default '0',
`ip` varchar(255) NOT NULL default '',
`user_agent` varchar(255) NOT NULL default '',
`is_robot` int(1) NOT NULL default '0',
`timestamp_erster_aufruf` int(14) NOT NULL default '0',
`timestamp_letzter_aufruf` int(14) NOT NULL default '0',
`seite` varchar(255) NOT NULL default '',
`homepage_id` int(2) NOT NULL default '0',
`seitenaufrufe` int(14) NOT NULL default '0',
PRIMARY KEY (id),
KEY nr (nr)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_pages`;
CREATE TABLE IF NOT EXISTS `chc_pages` (
`id` int(14) unsigned NOT NULL auto_increment,
`wert` varchar(255) NOT NULL default '',
`homepage_id` int(2) NOT NULL default '0',
`counter_verzeichnis` int(1) NOT NULL default '0',
`anzahl` int(14) NOT NULL default '0',
`anzahl_einstiegsseite` int(14) NOT NULL default '0',
`anzahl_ausgangsseite` int(14) NOT NULL default '0',
`titel` varchar(255) NOT NULL default '',
`timestamp` int(14) NOT NULL default '0',
`monat` int(6) default '0',
PRIMARY KEY (id),
KEY wert (wert),
KEY homepage_id (homepage_id),
KEY monat (monat)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_referrers`;
CREATE TABLE IF NOT EXISTS `chc_referrers` (
`id` int(14) unsigned NOT NULL auto_increment,
`typ` enum('referrer','domain') NOT NULL default 'referrer',
`wert` varchar(255) NOT NULL default '',
`homepage_id` int(2) NOT NULL default '0',
`anzahl` int(14) NOT NULL default '0',
`timestamp` int(14) NOT NULL default '0',
`monat` int(6) default '0',
PRIMARY KEY (id),
KEY typ (typ),
KEY typ_2 (typ,wert(20)),
KEY homepage_id (homepage_id),
KEY monat (monat)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_screen_resolutions`;
CREATE TABLE IF NOT EXISTS `chc_screen_resolutions` (
`wert` varchar(255) NOT NULL default '',
`anzahl` int(14) NOT NULL default '0',
`timestamp` int(14) NOT NULL default '0',
`monat` int(6) default '0'
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_search_engines`;
CREATE TABLE IF NOT EXISTS `chc_search_engines` (
`typ` enum('suchmaschine','suchphrase','suchwort') NOT NULL default 'suchmaschine',
`wert` varchar(255) NOT NULL default '',
`anzahl` int(14) NOT NULL default '0',
`timestamp` int(14) NOT NULL default '0',
`monat` int(6) default '0',
KEY typ (typ),
KEY typ_2 (typ,wert(10)),
KEY monat (monat)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `chc_user_agents`;
CREATE TABLE IF NOT EXISTS `chc_user_agents` (
`typ` enum('user_agent','browser','os','robot','version~browser','version~os','version~robot') NOT
NULL default 'user_agent',
`wert` varchar(255) NOT NULL default '',
`anzahl` int(14) NOT NULL default '0',
`timestamp` int(14) NOT NULL default '0',
`monat` int(6) default '0',
KEY typ (typ),
KEY typ_2 (typ,wert(20)),
KEY monat (monat)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `personal_offers_by_customers_status_0`;
CREATE TABLE IF NOT EXISTS `personal_offers_by_customers_status_0` (
`price_id` int(11) NOT NULL auto_increment,
`products_id` int(11) NOT NULL default '0',
`quantity` int(11) default NULL,
`personal_offer` decimal(15,4) default NULL,
PRIMARY KEY (price_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `personal_offers_by_customers_status_1`;
CREATE TABLE IF NOT EXISTS `personal_offers_by_customers_status_1` (
`price_id` int(11) NOT NULL auto_increment,
`products_id` int(11) NOT NULL default '0',
`quantity` int(11) default NULL,
`personal_offer` decimal(15,4) default NULL,
PRIMARY KEY (price_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `personal_offers_by_customers_status_2`;
CREATE TABLE IF NOT EXISTS `personal_offers_by_customers_status_2` (
`price_id` int(11) NOT NULL auto_increment,
`products_id` int(11) NOT NULL default '0',
`quantity` int(11) default NULL,
`personal_offer` decimal(15,4) default NULL,
PRIMARY KEY (price_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `personal_offers_by_customers_status_3`;
CREATE TABLE IF NOT EXISTS `personal_offers_by_customers_status_3` (
`price_id` int(11) NOT NULL auto_increment,
`products_id` int(11) NOT NULL default '0',
`quantity` int(11) default NULL,
`personal_offer` decimal(15,4) default NULL,
PRIMARY KEY (price_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `personal_offers_by_customers_status_4`;
CREATE TABLE IF NOT EXISTS `personal_offers_by_customers_status_4` (
`price_id` int(11) NOT NULL auto_increment,
`products_id` int(11) NOT NULL,
`quantity` int(11) default NULL,
`personal_offer` decimal(15,4) default NULL,
PRIMARY KEY (price_id)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
ALTER TABLE `admin_access` ADD `pdf_export` int(1) NOT NULL default '0';
UPDATE `admin_access` SET pdf_export=1 where customers_id=1;
ALTER TABLE `categories` ADD `group_permission_4` tinyint(1) NOT NULL;
ALTER TABLE `products` ADD `group_permission_4` tinyint(1) NOT NULL;





