# Database Schema **Analysis Date:** 2026-04-27 ## Connection - Host: `dedyk75.cyber-folks.pl` - Database: `interblue_sklep` - Table prefix: `ps_` - Engine: InnoDB - Charset: UTF-8 (note: custom tables use `utf8` not `utf8mb4`) - Cache: Memcached ## Core PrestaShop Tables (selected) Standard PrestaShop tables present (not listed exhaustively — see PS docs): - `ps_orders` — Orders (modified by AddOrderExtraFields, see below) - `ps_order_history` — Order status history - `ps_order_invoice` — Invoices - `ps_order_payment` — Payment records (modified by AddOrderExtraFields) - `ps_product` — Products - `ps_product_lang` — Product translations - `ps_cart` — Shopping carts - `ps_customer` — Customers ## Custom Tables (Added by Modules) ### `ps_custom_feature_tab` — Feature Tab Rules Created by: `modules/customfeaturetab/customfeaturetab.php` | Column | Type | Notes | |--------|------|-------| | id_custom_feature_tab | INT UNSIGNED | PRIMARY KEY, AUTO_INCREMENT | | id_feature | INT UNSIGNED | Feature ID from ps_feature | | id_feature_value | INT UNSIGNED | Feature value ID | | position | INT UNSIGNED | Display order | | active | TINYINT(1) | Enable/disable | | date_add | DATETIME | | | date_upd | DATETIME | | ### `ps_custom_feature_tab_lang` — Feature Tab Content (Multilang) Created by: `modules/customfeaturetab/customfeaturetab.php` | Column | Type | Notes | |--------|------|-------| | id_custom_feature_tab | INT UNSIGNED | FK → ps_custom_feature_tab | | id_lang | INT UNSIGNED | FK → ps_lang | | title | VARCHAR(255) | Tab title | | content | TEXT | Tab HTML content | Primary key: (id_custom_feature_tab, id_lang) ## Modified Core Tables (by Modules) ### `ps_orders` — Order Source Field Added by: `modules/AddOrderExtraFields/AddOrderExtraFields.php` | Column | Type | Notes | |--------|------|-------| | order_source | ENUM('Allegro', 'Sklep int.', 'Telefonicznie') | Added via ALTER TABLE | Logic: Set in `modules/AddOrderExtraFields/override/classes/PaymentModule.php` - 'Allegro' — when `$order->module == 'x13allegro'` - 'Sklep int.' — default for web store orders - 'Telefonicznie' — manual phone orders (set manually in admin) ### `ps_order_payment` — Card Payment Field Added by: `override/classes/order/OrderPayment.php` - Additional field for storing card payment type (max 254 chars) ## Migration Approach - No migration framework — DDL executed in module `install()` methods - ALTER TABLE statements in `AddOrderExtraFields.php` - CREATE TABLE in `customfeaturetab.php` - No rollback scripts (uninstall drops custom tables) - No version tracking for schema changes ## Known Issues - Custom tables use `utf8` charset (should be `utf8mb4` for full Unicode/emoji support) - `ps_custom_feature_tab` has no index on `id_feature` or `id_feature_value` (potential slow queries on large catalogs) - `order_source` enum requires ALTER TABLE to add new order sources --- *DB schema: 2026-04-27* *Update when modules add/modify tables*