Initial import: Carteasy Shop (Dev-Stand)

This commit is contained in:
Thomas Bartelt
2026-04-20 01:03:43 +02:00
commit d504f8a05d
3845 changed files with 761050 additions and 0 deletions
+196
View File
@@ -0,0 +1,196 @@
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_name', 'COMPANY', '', 'Firmenname');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_legal_form', 'COMPANY', '', 'Rechtsform');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_ustid', 'COMPANY', '', 'USt-IdNr.');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_jurisdiction', 'COMPANY', '', 'Gerichtsstand');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_management', 'COMPANY', '', ' Geschäftführung');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_director', 'COMPANY', '', 'Vorstand');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_directorat', 'COMPANY', '', 'Aufsichtsratsvorsitz');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_register_court', 'COMPANY', '', 'Sitz, Registergericht, Registernummer');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_data_protection_officer', 'COMPANY', '', ' Datenschutzbeauftragte');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_youth_protection_officer', 'COMPANY', '', 'Jugendschutzbeauftragte');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_country', 'COMPANY', '', 'Land');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_street', 'COMPANY', '', 'Straße');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_zip_code', 'COMPANY', '', 'PLZ');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_city', 'COMPANY', '', 'Ort');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_email', 'COMPANY', '', 'E-Mail');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_phone', 'COMPANY', '', 'Telefon');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_fax', 'COMPANY', '', 'Fax');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_website', 'COMPANY', '', 'Webseite');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_bank', 'COMPANY', '', 'Bank');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_bank_number', 'COMPANY', '', 'BLZ');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_account_number', 'COMPANY', '', 'Kto-Nr.');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_iban', 'COMPANY', '', 'IBAN');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('company_swift_bic', 'COMPANY', '', 'SWIFT / BIC');
DROP TABLE `words`;
CREATE TABLE IF NOT EXISTS `text_translation` (
`var_id` varchar(255) NOT NULL,
`modul` varchar(255) NOT NULL,
`text` varchar(255) NOT NULL,
`text_en` varchar(255) NOT NULL,
PRIMARY KEY (`var_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `currency` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`iso` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `domains` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`google_site_verification` varchar(255) NOT NULL,
`google_analytics_code` varchar(255) NOT NULL,
`standard_theme_id` int(11) NOT NULL,
`standard_language_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('item_image_size_zoom', 'ITEM', '800', 'Artikel Bildgröße bei Zoom');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('item_image_size_overview', 'ITEM', '150', 'Artikel Bildgröße bei der Artikelliste');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('item_image_size_thumb', 'ITEM', '90', 'Artikel Bildgröße für Thumbnails');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('item_image_size_details', 'ITEM', '330', 'Artikel Bildgröße in der Detailansicht');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('item_image_size_detaildefault', 'ITEM', '245', 'Artikel Bildgröße in der standard Detailansicht');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('show_child_items', 'ITEM', '0', 'Zeige Kinderartikel in der Artikelverwaltung.');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('item_customer_opinion', 'ITEM', '0', 'Zeige Artikelbewertung in der Artikeldetailansicht.');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('default_system_language', 'SYSTEM', 'de', 'Standardsprache des Systems in ISO631-1 (deutsch = de).');
CREATE TABLE IF NOT EXISTS `order_dhl` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`order_number` varchar(255) NOT NULL,
`verfahren` int(11) NOT NULL,
`produkt` int(11) NOT NULL,
`services` int(11) NOT NULL,
`gewicht` varchar(255) NOT NULL,
`teilnahme` varchar(255) NOT NULL,
`zollinhaltserklaerung` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('show_item_item_assign2', 'ITEM', '1', 'Zeige Ersatzteile bei Artikel an.');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('item_list_filter_max_inventory', 'ITEM', '0', 'Spezieller Artikelfilter mit maximaler Lagerbestandszahl.');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('main_menu_item_clickable', 'SITE_WIDGETS', '1', 'Hauptmenüpunkte sind klickbar');
CREATE TABLE IF NOT EXISTS `bills` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`number` varchar(255) NOT NULL,
`bill_date` date,
`state_id` tinyint(4) NOT NULL,
`payment_date` date,
`payment_state` tinyint(4) NOT NULL,
`customer` varchar(255) NOT NULL,
`amount_brutto` DECIMAL( 9, 4 ) NOT NULL,
`open_amount` DECIMAL( 9, 4 ) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `return_goods` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`return_date` date,
`state_id` tinyint(4) NOT NULL,
`customer` varchar(255) NOT NULL,
`amount_brutto` DECIMAL( 9, 4 ) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('show_shoppingcart_different_items_sum', 'shoppingcart', '0', 'Zeige die Anzahl der unterschiedlichen Artikel an und nicht die Gesamtsumme der Artikel.');
ALTER TABLE `site_content` ADD `style` VARCHAR( 255 ) NOT NULL AFTER `activ`;
UPDATE site_content SET style='h1';
ALTER TABLE `structure` ADD `sitemap_activ` tinyint(4) NOT NULL;
ALTER TABLE `customer_addresses` ADD `freetextfield1` varchar(255) DEFAULT NULL;
ALTER TABLE `customer_addresses` ADD `freetextfield2` varchar(255) DEFAULT NULL;
ALTER TABLE `customer_addresses` ADD `freetextfield3` varchar(255) DEFAULT NULL;
ALTER TABLE `customer_addresses` ADD `freetextfield4` varchar(255) DEFAULT NULL;
ALTER TABLE `customer_groups` ADD COLUMN `customer_number_edit` TINYINT(2) UNSIGNED NOT NULL DEFAULT '0' AFTER `verification_type`;
ALTER TABLE `customers` ADD COLUMN `skonto` TINYINT(2) UNSIGNED NOT NULL DEFAULT '0';
ALTER TABLE `countries` ADD COLUMN `customer_ust_id_required` TINYINT(2) UNSIGNED NOT NULL DEFAULT '0';
INSERT INTO `configuration` (`name`, `text`, `group_id`, `setting`, `type`, `description`) VALUES
('guest_order_customer_id', 'text', 'SHOP_SETTINGS', '0', 0, 'Kunden-ID für die Gastbestellung.');
INSERT INTO `configuration` (`name`, `text`, `group_id`, `setting`, `type`, `description`) VALUES
('cashdesk_giftcertificate', 'text', 'CASHDESK', '0', 0, 'Gutscheincode beim Kassengang (1 = an, 0 = aus).');
INSERT INTO `configuration` (`name`, `text`, `group_id`, `setting`, `type`, `description`) VALUES
('item_search_not_found_text', 'formated', 'SHOP_TEXT', 'Für den Suchbegriff "[#search_word]" wurden keine Treffer in unserer Datenbank gefunden.', 1, 'Text für die Artikelsuche wenn keine gefunden wurden.');
ALTER TABLE `structure` ADD `item_type` int(11) NOT NULL DEFAULT '0';
ALTER TABLE `structure` ADD `customer_group` int(11) NOT NULL DEFAULT '0';
INSERT INTO `payment_methods` (
`id` ,
`name` ,
`module` ,
`active` ,
`rang` ,
`invoice_text` ,
`order_text` ,
`helperjoinkey`
)
VALUES (
NULL , 'Kundenspezifisch', 'customized', '1', '8', 'Kundenspezifisch', '', 'customized'
);
ALTER TABLE `shipping_area` ADD `active_customized` TINYINT( 2 ) NOT NULL AFTER `active_bar`;
ALTER TABLE `shipping_area` ADD `add_customized` DECIMAL( 9, 2 ) NOT NULL AFTER `add_bar`;
ALTER TABLE `shipping_area` ADD `account_type_customized` TINYINT( 4 ) NOT NULL AFTER `account_type_bar`;
ALTER TABLE `items` ADD `bargain_price_type` TINYINT( 2 ) NOT NULL DEFAULT '0';
ALTER TABLE `item_type_definitions` ADD `item_type_definition_type` TINYINT( 2 ) NOT NULL DEFAULT '0';
INSERT INTO `configuration` (`name`, `text`, `group_id`, `setting`, `type`, `description`) VALUES
('cash_desk_order_completed', 'formated', 'SHOP_TEXT', 'Ihre Bestellung mit der Bestellnummer <strong>[#order_number]</strong> wurde erfolgreich an uns &uuml;bermittelt.', 1, 'Text für die Bestellbestätigungsseite.');
ALTER TABLE `item_types` ADD `item_type_available_from` DATETIME NULL;
ALTER TABLE `item_types` ADD `item_type_available_until` DATETIME NULL;
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('save_customer_shoppingcart', 'shoppingcart', '0', 'Warenkorb für eingeloggte Kunden speichern.');
ALTER TABLE `shopping_cart_items` ADD `customer_id` int(11) NOT NULL DEFAULT '0';
ALTER TABLE `shipping_area` ADD `free_payment_nn` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `shipping_area` ADD `free_payment_pp` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `shipping_area` ADD `free_payment_vk` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `shipping_area` ADD `free_payment_be` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `shipping_area` ADD `free_payment_r` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `shipping_area` ADD `free_payment_bar` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `shipping_area` ADD `free_payment_computop_creditcard` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `shipping_area` ADD `free_payment_billpay_invoice` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `shipping_area` ADD `free_payment_paymorrow_rechnung` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `shipping_area` ADD `free_payment_paymorrow_raten` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `shipping_area` ADD `free_payment_klarna_rechnung` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `shipping_area` ADD `free_payment_klarna_raten` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `shipping_area` ADD `free_payment_customized` DECIMAL(6,2) NOT NULL DEFAULT '0.0';
ALTER TABLE `items` ADD `last_change_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00';
ALTER TABLE `items` ADD `last_change_user_id` int(11) NOT NULL DEFAULT '0';
INSERT INTO `configuration` (`name`, `text`, `group_id`, `setting`, `type`, `description`) VALUES
('customer_freetextfield1_name', 'text', 'CUSTOMER', 'Freitextfeld 1', 1, 'Bezeichnung für das Freitextfeld 1 der Kundendaten.');
INSERT INTO `configuration` (`name`, `text`, `group_id`, `setting`, `type`, `description`) VALUES
('customer_freetextfield2_name', 'text', 'CUSTOMER', 'Freitextfeld 2', 1, 'Bezeichnung für das Freitextfeld 1 der Kundendaten.');
INSERT INTO `configuration` (`name`, `text`, `group_id`, `setting`, `type`, `description`) VALUES
('customer_freetextfield3_name', 'text', 'CUSTOMER', 'Freitextfeld 3', 1, 'Bezeichnung für das Freitextfeld 1 der Kundendaten.');
INSERT INTO `configuration` (`name`, `text`, `group_id`, `setting`, `type`, `description`) VALUES
('customer_freetextfield4_name', 'text', 'CUSTOMER', 'Freitextfeld 4', 1, 'Bezeichnung für das Freitextfeld 1 der Kundendaten.');
INSERT INTO `configuration` (`name`, `text`, `group_id`, `setting`, `type`, `description`) VALUES
('customer_freetextfield5_name', 'text', 'CUSTOMER', 'Freitextfeld 5', 1, 'Bezeichnung für das Freitextfeld 1 der Kundendaten.');
INSERT INTO `configuration` (`name`, `text`, `group_id`, `setting`, `type`, `description`) VALUES
('customer_freetextfield6_name', 'text', 'CUSTOMER', 'Freitextfeld 6', 1, 'Bezeichnung für das Freitextfeld 1 der Kundendaten.');
@@ -0,0 +1,15 @@
ALTER TABLE `text_translation` ADD `text_en` VARCHAR(255) NULL DEFAULT NULL;
ALTER TABLE `items` ADD `name_en` VARCHAR(255) NULL DEFAULT NULL;
ALTER TABLE `items` ADD `short_description_en` TEXT NULL DEFAULT NULL;
ALTER TABLE `items` ADD `detail_description_en` TEXT NULL DEFAULT NULL;
ALTER TABLE `structure` ADD `name_en` VARCHAR(255) NULL DEFAULT NULL;
ALTER TABLE `news` ADD `title_en` VARCHAR(255) NULL DEFAULT NULL;
ALTER TABLE `news` ADD `sub_title_en` VARCHAR(255) NULL DEFAULT NULL;
ALTER TABLE `news` ADD `text_en` TEXT NULL DEFAULT NULL;
ALTER TABLE `site_content` ADD `title_en` VARCHAR(255) NULL DEFAULT NULL;
ALTER TABLE `site_content` ADD `content_en` TEXT NULL DEFAULT NULL;
ALTER TABLE `item_schema_attributes` ADD `name_en` VARCHAR(255) NULL DEFAULT NULL;
ALTER TABLE `standard_messages` ADD `title_en` VARCHAR(255) NULL DEFAULT NULL;
ALTER TABLE `standard_messages` ADD `message_en` TEXT NULL DEFAULT NULL;
File diff suppressed because one or more lines are too long
@@ -0,0 +1,74 @@
-- Migration: Widerrufs-Button nach EU-RL 2026/2673 (§ 312g BGB neu)
-- Datum: 2026-04-19
-- Autor: Thomas Bartelt / Wlanium
-- Scope: Elektronischer Widerruf für B2C (Endverbraucher=1, Gast=103)
-- Silent-Modus bis Mitte Mai 2026 via Config-Flag (kein DB-Flag nötig)
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 1;
-- ============================================================
-- Tabelle: revocations
-- Ein Eintrag pro Bestellung, für die ein Widerrufs-Link erzeugt
-- wurde. Legacy-Bestellungen vor Go-Live bleiben unberührt.
-- ============================================================
CREATE TABLE IF NOT EXISTS revocations (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
order_id BIGINT UNSIGNED NOT NULL,
customer_id INT UNSIGNED NULL,
customer_email VARCHAR(255) NOT NULL,
customer_group_id INT NOT NULL COMMENT 'Snapshot zum Bestellzeitpunkt',
token_hash CHAR(64) NOT NULL COMMENT 'SHA-256 des URL-Tokens',
expires_at DATETIME NOT NULL COMMENT '20 Tage ab Bestelldatum',
status ENUM('pending','submitted','processed','expired','revoked_by_admin')
NOT NULL DEFAULT 'pending',
submitted_at DATETIME NULL,
processed_at DATETIME NULL,
owner_notified_at DATETIME NULL,
customer_confirmed_at DATETIME NULL,
reason_id INT UNSIGNED NULL,
reason_text TEXT NULL,
ip_anonymized VARCHAR(45) NULL COMMENT 'gesetzt nur bei submit, /24 v4 oder /48 v6',
user_agent VARCHAR(255) NULL,
admin_note TEXT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uk_token_hash (token_hash),
UNIQUE KEY uk_order_id (order_id) COMMENT 'max 1 Widerruf pro Bestellung',
KEY idx_status_expires (status, expires_at),
KEY idx_customer_email (customer_email),
CONSTRAINT fk_rev_order FOREIGN KEY (order_id) REFERENCES orders(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ============================================================
-- Tabelle: revocation_reasons
-- Optionale Gründe-Liste für das Widerrufs-Formular.
-- Bewusst eigene Tabelle, nicht cancellationreasons (andere Semantik).
-- ============================================================
CREATE TABLE IF NOT EXISTS revocation_reasons (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
label VARCHAR(150) NOT NULL,
sort SMALLINT UNSIGNED NOT NULL DEFAULT 0,
active TINYINT(1) UNSIGNED NOT NULL DEFAULT 1,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Seed: 6 Standardgründe
INSERT INTO revocation_reasons (label, sort, active) VALUES
('Artikel entspricht nicht der Beschreibung', 10, 1),
('Falscher Artikel geliefert', 20, 1),
('Artikel beschädigt angekommen', 30, 1),
('Artikel passt nicht / nicht kompatibel', 40, 1),
('Lieferung zu spät', 50, 1),
('Anderer Grund', 99, 1);
+271
View File
@@ -0,0 +1,271 @@
/* 2013-08-21 */
INSERT INTO `text_translation` (`var_id`, `modul`, `text`) VALUES ('nl_title', 'newsletter_widget', 'Newsletter');
INSERT INTO `text_translation` (`var_id`, `modul`, `text`) VALUES ('nl_infotext', 'newsletter_widget', 'Hier gibts ...');
INSERT INTO `text_translation` (`var_id`, `modul`, `text`) VALUES ('nl_footertext', 'newsletter_widget', 'Jetzt eintragen');
/* 2013-08-26 */
ALTER TABLE `structure`
ADD COLUMN `root_id` INT(10) UNSIGNED NULL DEFAULT '0' AFTER `name_en`,
ADD COLUMN `level` INT(10) UNSIGNED NULL DEFAULT '1' AFTER `root_id`;
/* 2013-08-27 */
ALTER TABLE `items`
ADD COLUMN `has_additional_items` TINYINT UNSIGNED NULL DEFAULT '0' AFTER `detail_description_en`,
ADD COLUMN `has_spare_parts` TINYINT UNSIGNED NULL DEFAULT '0' AFTER `has_additional_items`,
ADD COLUMN `has_documents` TINYINT UNSIGNED NULL DEFAULT '0' AFTER `has_spare_parts`;
/* 2013-09-03 */
ALTER TABLE `item_files`
ADD COLUMN `size` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `alt`;
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('show_item_item_assign', 'ITEM', '1', 'Zeige Zubehörartikel als Register');
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('show_item_item_assign2', 'ITEM', '1', 'Zeige Ersatzteile als Register');
/* 2013-09-12 */
ALTER TABLE `cancellation_reasons`
ADD INDEX `active` (`active`);
ALTER TABLE `configuration`
ADD INDEX `group_id` (`group_id`);
ALTER TABLE `countries`
ADD INDEX `shipping_area_id` (`shipping_area_id`);
ALTER TABLE `country_customergroup_shippingarea`
ADD INDEX `country_id` (`country_id`);
ALTER TABLE `country_customergroup_shippingarea`
ADD INDEX `customer_group_id` (`customer_group_id`);
ALTER TABLE `country_customergroup_shippingarea`
ADD INDEX `country_id_customer_group_id` (`country_id`, `customer_group_id`);
ALTER TABLE `customers`
ADD INDEX `group_id` (`group_id`);
ALTER TABLE `customer_files`
ADD INDEX `customer_id` (`customer_id`);
ALTER TABLE `customer_group_payment_method_configuration`
ADD INDEX `group_id` (`group_id`),
ADD INDEX `payment_method_id` (`payment_method_id`),
ADD INDEX `shipping_area_id` (`shipping_area_id`),
ADD INDEX `active` (`active`);
ALTER TABLE `deliverers`
ADD INDEX `active` (`active`);
ALTER TABLE `discount_item`
ADD INDEX `artikel_id` (`artikel_id`);
ALTER TABLE `export`
ADD INDEX `customer_group_id` (`customer_group_id`),
ADD INDEX `set_customer_group_id` (`set_customer_group_id`);
ALTER TABLE `export_item_groups`
ADD INDEX `export_id` (`export_id`),
ADD INDEX `structure_id` (`structure_id`);
ALTER TABLE `gift_certificates`
ADD INDEX `active` (`active`),
ADD INDEX `customer_id` (`customer_id`),
ADD INDEX `customer_group_id` (`customer_group_id`);
ALTER TABLE `incomming_goods`
ADD INDEX `vendor_id` (`vendor_id`);
ALTER TABLE `itemgroup_import`
ADD INDEX `item_id` (`item_id`),
ADD INDEX `group_id` (`group_id`),
ADD INDEX `item_id_group_id` (`item_id`, `group_id`);
ALTER TABLE `items`
ADD INDEX `parent_id` (`parent_id`),
ADD INDEX `name` (`name`),
ADD INDEX `structure_id` (`structure_id`),
ADD INDEX `active` (`active`),
ADD INDEX `short_uri` (`short_uri`),
ADD INDEX `last_update` (`last_update`);
ALTER TABLE `item_attribute_variants`
ADD INDEX `item_id` (`item_id`),
ADD INDEX `customergroup_id` (`customergroup_id`);
ALTER TABLE `item_faq_assign`
ADD INDEX `article_id` (`article_id`),
ADD INDEX `faq_id` (`faq_id`),
ADD INDEX `article_id_faq_id` (`article_id`, `faq_id`);
ALTER TABLE `item_files`
ADD INDEX `item_id` (`item_id`),
ADD INDEX `rang` (`rang`);
ALTER TABLE `item_inventory`
ADD INDEX `item_id` (`item_id`);
ALTER TABLE `item_opinion`
ADD INDEX `item_id` (`item_id`),
ADD INDEX `active` (`active`),
ADD INDEX `user_id` (`user_id`),
ADD INDEX `rang` (`rang`);
ALTER TABLE `item_schema`
ADD INDEX `active` (`active`);
ALTER TABLE `item_schema_attributes`
ADD INDEX `schema_id` (`schema_id`);
ALTER TABLE `item_types`
ADD INDEX `item_id` (`item_id`),
ADD INDEX `item_type_definition_id` (`item_type_definition_id`);
ALTER TABLE `languages`
ADD INDEX `active` (`active`);
ALTER TABLE `manufacturers`
ADD INDEX `active` (`active`);
ALTER TABLE `marketing_manager_actions`
ADD INDEX `active` (`active`);
ALTER TABLE `metatags`
ADD INDEX `active` (`active`);
ALTER TABLE `nav`
ADD INDEX `parentId` (`parentId`);
ALTER TABLE `news`
ADD INDEX `active` (`active`);
ALTER TABLE `newsletter_attachments`
ADD INDEX `newsletter_id` (`newsletter_id`);
ALTER TABLE `newsletter_items`
ADD INDEX `item_id` (`item_id`);
ALTER TABLE `newsletter_recipient`
ADD INDEX `customer_group_id` (`customer_group_id`);
ALTER TABLE `order_history`
ADD INDEX `order_id` (`order_id`);
ALTER TABLE `order_item_return`
ADD INDEX `order_id` (`order_id`);
ALTER TABLE `order_status`
ADD INDEX `is_showable` (`is_showable`);
ALTER TABLE `payment_methods`
ADD INDEX `configuration_group_id` (`configuration_group_id`);
ALTER TABLE `paypal_refund`
ADD INDEX `order_id` (`order_id`);
ALTER TABLE `shipping_areas`
ADD INDEX `shipping_area_is_active` (`shipping_area_is_active`);
ALTER TABLE `shipping_area_deliverers`
ADD INDEX `active` (`active`);
ALTER TABLE `shipping_area_delivery_methods`
ADD INDEX `shipping_area_id` (`shipping_area_id`),
ADD INDEX `delivery_method_id` (`delivery_method_id`);
ALTER TABLE `shipping_area_item`
ADD INDEX `artikel_id` (`artikel_id`),
ADD INDEX `lieferzonen_id` (`lieferzonen_id`),
ADD INDEX `artikel_id_lieferzonen_id` (`artikel_id`, `lieferzonen_id`);
ALTER TABLE `shipping_area_payment_methods`
ADD INDEX `payment_method_id` (`payment_method_id`),
ADD INDEX `shipping_area_id` (`shipping_area_id`);
ALTER TABLE `shipping_area_payment_method_customer_groups`
ADD INDEX `shipping_area_id` (`shipping_area_id`),
ADD INDEX `payment_method_id` (`payment_method_id`),
ADD INDEX `customer_group_id` (`customer_group_id`);
ALTER TABLE `shop_opinion`
ADD INDEX `active` (`active`);
ALTER TABLE `site_content`
ADD INDEX `structure_id` (`structure_id`),
ADD INDEX `activ` (`activ`),
ADD INDEX `position` (`position`);
ALTER TABLE `standard_messages`
ADD INDEX `active` (`active`);
ALTER TABLE `structure`
ADD INDEX `theme_id` (`theme_id`),
ADD INDEX `active` (`active`),
ADD INDEX `show_after_login` (`show_after_login`),
ADD INDEX `short_uri` (`short_uri`);
ALTER TABLE `structure`
ADD INDEX `root_id` (`root_id`),
ADD INDEX `level` (`level`);
ALTER TABLE `tickets`
ADD INDEX `state_id` (`state_id`);
ALTER TABLE `ticket_message_attachments`
ADD INDEX `ticket_message_id` (`ticket_message_id`);
ALTER TABLE `vendors`
ADD INDEX `vendor_is_active` (`vendor_is_active`);
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`)
VALUES ('menu_in_cashdesk', 'CASHDESK', '1', 'Soll im Cashdesk das Menü links angezeigt werden?');
/* 2013-09-13 */
ALTER TABLE `item_item_assign`
CHANGE COLUMN `type` `type` TINYINT(10) NOT NULL DEFAULT '0' COMMENT '1: add. items; 2: spare parts; 3: real friends' AFTER `item_child_id`;
ALTER TABLE `items`
ADD COLUMN `has_realfriends` TINYINT(3) UNSIGNED NULL DEFAULT '0' AFTER `has_documents`;
ALTER TABLE `items`
CHANGE COLUMN `has_realfriends` `has_real_friends` TINYINT(3) UNSIGNED NULL DEFAULT '0' AFTER `has_documents`;
/* 2013-09-17 */
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`) VALUES ('infinite_scrolling', 'ITEM_LIST', '1', 'Automatisches Nachladen in der Liste, wenn _alle_ gewählt.');
-- 2013-11-08
INSERT INTO `configuration` (`name`, `group_id`, `setting`) VALUES ('main_menu_item_clickable_if_empty', 'SITE_WIDGETS', '1');
UPDATE `configuration` SET `description`='Hauptmenüpunkte sind klickbar wenn ohne Unterpunkte' WHERE `name`='main_menu_item_clickable_if_empty';
-- 2013-11-11
ALTER TABLE `items`
ADD FULLTEXT INDEX `itemsearchindexft` (`number`, `name`, `detail_description`, `attribute_1`, `attribute_2`, `attribute_3`, `attribute_4`, `attribute_5`);
-- 2013-11-14
INSERT INTO `configuration` (`name`, `group_id`, `setting`, `description`)
VALUES ('custom_global_modules', 'SYSTEM', '1', 'Dieses Shop-System hat eigene Module (Themen-/Kunden-spezifisch)');
-- 2013-11-18
ALTER TABLE `items`
ALTER `attribute_18` DROP DEFAULT;
ALTER TABLE `items`
CHANGE COLUMN `attribute_18` `attribute_18` MEDIUMTEXT NULL AFTER `attribute_17`;
ALTER TABLE `items`
ADD COLUMN `update_ready` TINYINT(3) UNSIGNED NULL DEFAULT '0' AFTER `has_real_friends`;
ALTER TABLE `items`
DROP INDEX `itemsearchindexft`,
ADD FULLTEXT INDEX `itemsearchindexft` (`number`, `name`, `detail_description`, `attribute_1`, `attribute_2`, `attribute_3`, `attribute_4`, `attribute_5`, `attribute_6`, `attribute_18`);
-- 2013-12-18
ALTER TABLE `domains`
ALTER `google_site_verification` DROP DEFAULT,
ALTER `google_analytics_code` DROP DEFAULT;
ALTER TABLE `domains`
CHANGE COLUMN `google_site_verification` `google_site_verification` VARCHAR(255) NULL AFTER `name`,
CHANGE COLUMN `google_analytics_code` `google_analytics_code` VARCHAR(255) NULL AFTER `standard_language_id`;
-- 2013-12-20
INSERT INTO `configuration` (`name`, `text`, `group_id`, `description`) VALUES ('shop_address_contact', 'formated', 'SHOP_TEXT', 'Adresse des Shops für Kontaktformular');
UPDATE `configuration` SET `description`='Adresse des Shopbetreibers für Adressbox' WHERE `name`='shop_address';