1: <?php
2: function oc_db_create(string $db_driver, string $db_hostname, string $db_username, string $db_password, string $db_database, string $db_port, string $db_prefix, string $db_ssl_key, string $db_ssl_cert, string $db_ssl_ca): bool {
3: try {
4: // Database
5: $db = new \Opencart\System\Library\DB($db_driver, $db_hostname, $db_username, $db_password, $db_database, $db_port, $db_ssl_key, $db_ssl_cert, $db_ssl_ca);
6: } catch (\Exception $e) {
7: return false;
8: }
9:
10: // Set up Database structure
11: $tables = oc_db_schema();
12:
13: foreach ($tables as $table) {
14: $table_query = $db->query("SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '" . $db_database . "' AND TABLE_NAME = '" . $db_prefix . $table['name'] . "'");
15:
16: if ($table_query->num_rows) {
17: $db->query("DROP TABLE `" . $db_prefix . $table['name'] . "`");
18: }
19:
20: $sql = "CREATE TABLE `" . $db_prefix . $table['name'] . "` (" . "\n";
21:
22: foreach ($table['field'] as $field) {
23: $sql .= " `" . $field['name'] . "` " . $field['type'] . (!empty($field['not_null']) ? " NOT NULL" : "") . (isset($field['default']) ? " DEFAULT '" . $db->escape($field['default']) . "'" : "") . (!empty($field['auto_increment']) ? " AUTO_INCREMENT" : "") . ",\n";
24: }
25:
26: if (isset($table['primary'])) {
27: $primary_data = [];
28:
29: foreach ($table['primary'] as $primary) {
30: $primary_data[] = "`" . $primary . "`";
31: }
32:
33: $sql .= " PRIMARY KEY (" . implode(",", $primary_data) . "),\n";
34: }
35:
36: if (isset($table['index'])) {
37: foreach ($table['index'] as $index) {
38: $index_data = [];
39:
40: foreach ($index['key'] as $key) {
41: $index_data[] = "`" . $key . "`";
42: }
43:
44: $sql .= " KEY `" . $index['name'] . "` (" . implode(",", $index_data) . "),\n";
45: }
46: }
47:
48: $sql = rtrim($sql, ",\n") . "\n";
49: $sql .= ") ENGINE=" . $table['engine'] . " CHARSET=" . $table['charset'] . " COLLATE=" . $table['collate'] . ";\n";
50:
51: $db->query($sql);
52: }
53:
54: return true;
55: }
56:
57: /**
58: * @return array<int, array<string, mixed>>
59: */
60: function oc_db_schema() {
61: $tables = [];
62:
63: $tables[] = [
64: 'name' => 'address',
65: 'field' => [
66: [
67: 'name' => 'address_id',
68: 'type' => 'int(11)',
69: 'auto_increment' => true
70: ],
71: [
72: 'name' => 'customer_id',
73: 'type' => 'int(11)'
74: ],
75: [
76: 'name' => 'firstname',
77: 'type' => 'varchar(32)'
78: ],
79: [
80: 'name' => 'lastname',
81: 'type' => 'varchar(32)'
82: ],
83: [
84: 'name' => 'company',
85: 'type' => 'varchar(60)'
86: ],
87: [
88: 'name' => 'address_1',
89: 'type' => 'varchar(128)'
90: ],
91: [
92: 'name' => 'address_2',
93: 'type' => 'varchar(128)'
94: ],
95: [
96: 'name' => 'city',
97: 'type' => 'varchar(128)'
98: ],
99: [
100: 'name' => 'postcode',
101: 'type' => 'varchar(10)'
102: ],
103: [
104: 'name' => 'country_id',
105: 'type' => 'int(11)',
106: 'default' => '0'
107: ],
108: [
109: 'name' => 'zone_id',
110: 'type' => 'int(11)',
111: 'default' => '0'
112: ],
113: [
114: 'name' => 'custom_field',
115: 'type' => 'text'
116: ],
117: [
118: 'name' => 'default',
119: 'type' => 'tinyint(1)'
120: ]
121: ],
122: 'primary' => [
123: 'address_id'
124: ],
125: 'foreign' => [
126: [
127: 'key' => 'customer_id',
128: 'table' => 'customer',
129: 'field' => 'customer_id'
130: ]
131: ],
132: 'index' => [
133: [
134: 'name' => 'customer_id',
135: 'key' => [
136: 'customer_id'
137: ]
138: ]
139: ],
140: 'engine' => 'InnoDB',
141: 'charset' => 'utf8mb4',
142: 'collate' => 'utf8mb4_general_ci'
143: ];
144:
145: $tables[] = [
146: 'name' => 'address_format',
147: 'field' => [
148: [
149: 'name' => 'address_format_id',
150: 'type' => 'int(11)',
151: 'auto_increment' => true
152: ],
153: [
154: 'name' => 'name',
155: 'type' => 'varchar(128)'
156: ],
157: [
158: 'name' => 'address_format',
159: 'type' => 'text'
160: ]
161: ],
162: 'primary' => [
163: 'address_format_id'
164: ],
165: 'engine' => 'InnoDB',
166: 'charset' => 'utf8mb4',
167: 'collate' => 'utf8mb4_general_ci'
168: ];
169:
170: $tables[] = [
171: 'name' => 'api',
172: 'field' => [
173: [
174: 'name' => 'api_id',
175: 'type' => 'int(11)',
176: 'auto_increment' => true
177: ],
178: [
179: 'name' => 'username',
180: 'type' => 'varchar(64)'
181: ],
182: [
183: 'name' => 'key',
184: 'type' => 'text'
185: ],
186: [
187: 'name' => 'status',
188: 'type' => 'tinyint(1)'
189: ],
190: [
191: 'name' => 'date_added',
192: 'type' => 'datetime'
193: ],
194: [
195: 'name' => 'date_modified',
196: 'type' => 'datetime'
197: ]
198: ],
199: 'primary' => [
200: 'api_id'
201: ],
202: 'engine' => 'InnoDB',
203: 'charset' => 'utf8mb4',
204: 'collate' => 'utf8mb4_general_ci'
205: ];
206:
207: $tables[] = [
208: 'name' => 'api_ip',
209: 'field' => [
210: [
211: 'name' => 'api_ip_id',
212: 'type' => 'int(11)',
213: 'auto_increment' => true
214: ],
215: [
216: 'name' => 'api_id',
217: 'type' => 'int(11)'
218: ],
219: [
220: 'name' => 'ip',
221: 'type' => 'varchar(40)'
222: ]
223: ],
224: 'primary' => [
225: 'api_ip_id'
226: ],
227: 'foreign' => [
228: [
229: 'key' => 'api_id',
230: 'table' => 'api',
231: 'field' => 'api_id'
232: ]
233: ],
234: 'engine' => 'InnoDB',
235: 'charset' => 'utf8mb4',
236: 'collate' => 'utf8mb4_general_ci'
237: ];
238:
239: $tables[] = [
240: 'name' => 'api_session',
241: 'field' => [
242: [
243: 'name' => 'api_session_id',
244: 'type' => 'int(11)',
245: 'auto_increment' => true
246: ],
247: [
248: 'name' => 'api_id',
249: 'type' => 'int(11)'
250: ],
251: [
252: 'name' => 'session_id',
253: 'type' => 'varchar(32)'
254: ],
255: [
256: 'name' => 'ip',
257: 'type' => 'varchar(40)'
258: ],
259: [
260: 'name' => 'date_added',
261: 'type' => 'datetime'
262: ],
263: [
264: 'name' => 'date_modified',
265: 'type' => 'datetime'
266: ]
267: ],
268: 'primary' => [
269: 'api_session_id'
270: ],
271: 'foreign' => [
272: [
273: 'key' => 'api_id',
274: 'table' => 'api',
275: 'field' => 'api_id'
276: ]
277: ],
278: 'engine' => 'InnoDB',
279: 'charset' => 'utf8mb4',
280: 'collate' => 'utf8mb4_general_ci'
281: ];
282:
283: $tables[] = [
284: 'name' => 'attribute',
285: 'field' => [
286: [
287: 'name' => 'attribute_id',
288: 'type' => 'int(11)',
289: 'auto_increment' => true
290: ],
291: [
292: 'name' => 'attribute_group_id',
293: 'type' => 'int(11)'
294: ],
295: [
296: 'name' => 'sort_order',
297: 'type' => 'int(3)'
298: ]
299: ],
300: 'primary' => [
301: 'attribute_id'
302: ],
303: 'foreign' => [
304: [
305: 'key' => 'attribute_group_id',
306: 'table' => 'attribute_group',
307: 'field' => 'attribute_group_id'
308: ]
309: ],
310: 'engine' => 'InnoDB',
311: 'charset' => 'utf8mb4',
312: 'collate' => 'utf8mb4_general_ci'
313: ];
314:
315: $tables[] = [
316: 'name' => 'attribute_description',
317: 'field' => [
318: [
319: 'name' => 'attribute_id',
320: 'type' => 'int(11)'
321: ],
322: [
323: 'name' => 'language_id',
324: 'type' => 'int(11)'
325: ],
326: [
327: 'name' => 'name',
328: 'type' => 'varchar(64)'
329: ]
330: ],
331: 'primary' => [
332: 'attribute_id',
333: 'language_id'
334: ],
335: 'foreign' => [
336: [
337: 'key' => 'attribute_id',
338: 'table' => 'attribute',
339: 'field' => 'attribute_id'
340: ],
341: [
342: 'key' => 'language_id',
343: 'table' => 'language',
344: 'field' => 'language_id'
345: ]
346: ],
347: 'engine' => 'InnoDB',
348: 'charset' => 'utf8mb4',
349: 'collate' => 'utf8mb4_general_ci'
350: ];
351:
352: $tables[] = [
353: 'name' => 'attribute_group',
354: 'field' => [
355: [
356: 'name' => 'attribute_group_id',
357: 'type' => 'int(11)',
358: 'auto_increment' => true
359: ],
360: [
361: 'name' => 'sort_order',
362: 'type' => 'int(3)'
363: ]
364: ],
365: 'primary' => [
366: 'attribute_group_id'
367: ],
368: 'engine' => 'InnoDB',
369: 'charset' => 'utf8mb4',
370: 'collate' => 'utf8mb4_general_ci'
371: ];
372:
373: $tables[] = [
374: 'name' => 'attribute_group_description',
375: 'field' => [
376: [
377: 'name' => 'attribute_group_id',
378: 'type' => 'int(11)'
379: ],
380: [
381: 'name' => 'language_id',
382: 'type' => 'int(11)'
383: ],
384: [
385: 'name' => 'name',
386: 'type' => 'varchar(64)'
387: ]
388: ],
389: 'primary' => [
390: 'attribute_group_id',
391: 'language_id'
392: ],
393: 'foreign' => [
394: [
395: 'key' => 'attribute_group_id',
396: 'table' => 'attribute_group',
397: 'field' => 'attribute_group_id'
398: ],
399: [
400: 'key' => 'language_id',
401: 'table' => 'language',
402: 'field' => 'language_id'
403: ]
404: ],
405: 'engine' => 'InnoDB',
406: 'charset' => 'utf8mb4',
407: 'collate' => 'utf8mb4_general_ci'
408: ];
409:
410: $tables[] = [
411: 'name' => 'banner',
412: 'field' => [
413: [
414: 'name' => 'banner_id',
415: 'type' => 'int(11)',
416: 'auto_increment' => true
417: ],
418: [
419: 'name' => 'name',
420: 'type' => 'varchar(64)'
421: ],
422: [
423: 'name' => 'status',
424: 'type' => 'tinyint(1)'
425: ]
426: ],
427: 'primary' => [
428: 'banner_id'
429: ],
430: 'engine' => 'InnoDB',
431: 'charset' => 'utf8mb4',
432: 'collate' => 'utf8mb4_general_ci'
433: ];
434:
435: $tables[] = [
436: 'name' => 'banner_image',
437: 'field' => [
438: [
439: 'name' => 'banner_image_id',
440: 'type' => 'int(11)',
441: 'auto_increment' => true
442: ],
443: [
444: 'name' => 'banner_id',
445: 'type' => 'int(11)'
446: ],
447: [
448: 'name' => 'language_id',
449: 'type' => 'int(11)'
450: ],
451: [
452: 'name' => 'title',
453: 'type' => 'varchar(64)'
454: ],
455: [
456: 'name' => 'link',
457: 'type' => 'varchar(255)'
458: ],
459: [
460: 'name' => 'image',
461: 'type' => 'varchar(255)'
462: ],
463: [
464: 'name' => 'sort_order',
465: 'type' => 'int(3)',
466: 'default' => '0'
467: ]
468: ],
469: 'primary' => [
470: 'banner_image_id'
471: ],
472: 'foreign' => [
473: [
474: 'key' => 'banner_id',
475: 'table' => 'banner',
476: 'field' => 'banner_id'
477: ],
478: [
479: 'key' => 'language_id',
480: 'table' => 'language',
481: 'field' => 'language_id'
482: ]
483: ],
484: 'engine' => 'InnoDB',
485: 'charset' => 'utf8mb4',
486: 'collate' => 'utf8mb4_general_ci'
487: ];
488:
489: $tables[] = [
490: 'name' => 'antispam',
491: 'field' => [
492: [
493: 'name' => 'antispam_id',
494: 'type' => 'int(11)',
495: 'auto_increment' => true
496: ],
497: [
498: 'name' => 'keyword',
499: 'type' => 'varchar(64)'
500: ]
501: ],
502: 'primary' => [
503: 'antispam_id'
504: ],
505: 'index' => [
506: [
507: 'name' => 'keyword',
508: 'key' => [
509: 'keyword'
510: ]
511: ]
512: ],
513: 'engine' => 'InnoDB',
514: 'charset' => 'utf8mb4',
515: 'collate' => 'utf8mb4_general_ci'
516: ];
517:
518: $tables[] = [
519: 'name' => 'article',
520: 'field' => [
521: [
522: 'name' => 'article_id',
523: 'type' => 'int(11)',
524: 'auto_increment' => true
525: ],
526: [
527: 'name' => 'topic_id',
528: 'type' => 'int(11)'
529: ],
530: [
531: 'name' => 'author',
532: 'type' => 'varchar(64)'
533: ],
534: [
535: 'name' => 'rating',
536: 'type' => 'int(11)'
537: ],
538: [
539: 'name' => 'status',
540: 'type' => 'tinyint(1)'
541: ],
542: [
543: 'name' => 'date_added',
544: 'type' => 'datetime'
545: ],
546: [
547: 'name' => 'date_modified',
548: 'type' => 'datetime'
549: ]
550: ],
551: 'primary' => [
552: 'article_id'
553: ],
554: 'engine' => 'InnoDB',
555: 'charset' => 'utf8mb4',
556: 'collate' => 'utf8mb4_general_ci'
557: ];
558:
559: $tables[] = [
560: 'name' => 'article_comment',
561: 'field' => [
562: [
563: 'name' => 'article_comment_id',
564: 'type' => 'int(11)',
565: 'auto_increment' => true
566: ],
567: [
568: 'name' => 'article_id',
569: 'type' => 'int(11)'
570: ],
571: [
572: 'name' => 'parent_id',
573: 'type' => 'int(11)'
574: ],
575: [
576: 'name' => 'customer_id',
577: 'type' => 'int(11)'
578: ],
579: [
580: 'name' => 'author',
581: 'type' => 'varchar(64)'
582: ],
583: [
584: 'name' => 'comment',
585: 'type' => 'text'
586: ],
587: [
588: 'name' => 'rating',
589: 'type' => 'int(11)'
590: ],
591: [
592: 'name' => 'ip',
593: 'type' => 'varchar(40)'
594: ],
595: [
596: 'name' => 'status',
597: 'type' => 'tinyint(1)'
598: ],
599: [
600: 'name' => 'date_added',
601: 'type' => 'datetime'
602: ]
603: ],
604: 'primary' => [
605: 'article_comment_id'
606: ],
607: 'foreign' => [
608: [
609: 'key' => 'article_id',
610: 'table' => 'article',
611: 'field' => 'article_id'
612: ],
613: [
614: 'key' => 'customer_id',
615: 'table' => 'customer',
616: 'field' => 'customer_id'
617: ]
618: ],
619: 'index' => [
620: [
621: 'name' => 'article_id',
622: 'key' => [
623: 'article_id'
624: ]
625: ],
626: [
627: 'name' => 'customer_id',
628: 'key' => [
629: 'customer_id'
630: ]
631: ],
632: [
633: 'name' => 'parent_id',
634: 'key' => [
635: 'parent_id'
636: ]
637: ]
638: ],
639: 'engine' => 'InnoDB',
640: 'charset' => 'utf8mb4',
641: 'collate' => 'utf8mb4_general_ci'
642: ];
643:
644: $tables[] = [
645: 'name' => 'article_description',
646: 'field' => [
647: [
648: 'name' => 'article_id',
649: 'type' => 'int(11)'
650: ],
651: [
652: 'name' => 'language_id',
653: 'type' => 'int(11)'
654: ],
655: [
656: 'name' => 'name',
657: 'type' => 'varchar(255)'
658: ],
659: [
660: 'name' => 'description',
661: 'type' => 'text'
662: ],
663: [
664: 'name' => 'image',
665: 'type' => 'varchar(255)'
666: ],
667: [
668: 'name' => 'tag',
669: 'type' => 'text'
670: ],
671: [
672: 'name' => 'meta_title',
673: 'type' => 'varchar(255)'
674: ],
675: [
676: 'name' => 'meta_description',
677: 'type' => 'varchar(255)'
678: ],
679: [
680: 'name' => 'meta_keyword',
681: 'type' => 'varchar(255)'
682: ]
683: ],
684: 'primary' => [
685: 'article_id',
686: 'language_id'
687: ],
688: 'foreign' => [
689: [
690: 'key' => 'language_id',
691: 'table' => 'language',
692: 'field' => 'language_id'
693: ]
694: ],
695: 'index' => [
696: [
697: 'name' => 'name',
698: 'key' => [
699: 'name'
700: ]
701: ]
702: ],
703: 'engine' => 'InnoDB',
704: 'charset' => 'utf8mb4',
705: 'collate' => 'utf8mb4_general_ci'
706: ];
707:
708: $tables[] = [
709: 'name' => 'article_rating',
710: 'field' => [
711: [
712: 'name' => 'article_rating_id',
713: 'type' => 'int(11)',
714: 'auto_increment' => true
715: ],
716: [
717: 'name' => 'article_comment_id',
718: 'type' => 'int(11)'
719: ],
720: [
721: 'name' => 'article_id',
722: 'type' => 'int(11)'
723: ],
724: [
725: 'name' => 'store_id',
726: 'type' => 'int(11)',
727: 'default' => 0
728: ],
729: [
730: 'name' => 'customer_id',
731: 'type' => 'int(11)'
732: ],
733: [
734: 'name' => 'rating',
735: 'type' => 'tinyint(1)'
736: ],
737: [
738: 'name' => 'ip',
739: 'type' => 'varchar(40)'
740: ],
741: [
742: 'name' => 'date_added',
743: 'type' => 'datetime'
744: ]
745: ],
746: 'primary' => [
747: 'article_rating_id'
748: ],
749: 'foreign' => [
750: [
751: 'key' => 'article_comment_id',
752: 'table' => 'article_comment',
753: 'field' => 'article_comment_id'
754: ],
755: [
756: 'key' => 'article_id',
757: 'table' => 'article',
758: 'field' => 'article_id'
759: ],
760: [
761: 'key' => 'store_id',
762: 'table' => 'store',
763: 'field' => 'store_id'
764: ],
765: [
766: 'key' => 'customer_id',
767: 'table' => 'customer',
768: 'field' => 'customer_id'
769: ]
770: ],
771: 'index' => [
772: [
773: 'name' => 'article_comment_id',
774: 'key' => [
775: 'article_comment_id'
776: ]
777: ],
778: [
779: 'name' => 'article_id',
780: 'key' => [
781: 'article_id'
782: ]
783: ],
784: [
785: 'name' => 'store_id',
786: 'key' => [
787: 'store_id'
788: ]
789: ],
790: [
791: 'name' => 'customer_id',
792: 'key' => [
793: 'customer_id'
794: ]
795: ]
796: ],
797: 'engine' => 'InnoDB',
798: 'charset' => 'utf8mb4',
799: 'collate' => 'utf8mb4_general_ci'
800: ];
801:
802: $tables[] = [
803: 'name' => 'article_to_layout',
804: 'field' => [
805: [
806: 'name' => 'article_id',
807: 'type' => 'int(11)'
808: ],
809: [
810: 'name' => 'store_id',
811: 'type' => 'int(11)'
812: ],
813: [
814: 'name' => 'layout_id',
815: 'type' => 'int(11)'
816: ]
817: ],
818: 'primary' => [
819: 'article_id',
820: 'store_id'
821: ],
822: 'foreign' => [
823: [
824: 'key' => 'article_id',
825: 'table' => 'article',
826: 'field' => 'article_id'
827: ],
828: [
829: 'key' => 'store_id',
830: 'table' => 'store',
831: 'field' => 'store_id'
832: ],
833: [
834: 'key' => 'layout_id',
835: 'table' => 'layout',
836: 'field' => 'layout_id'
837: ]
838: ],
839: 'engine' => 'InnoDB',
840: 'charset' => 'utf8mb4',
841: 'collate' => 'utf8mb4_general_ci'
842: ];
843:
844: $tables[] = [
845: 'name' => 'article_to_store',
846: 'field' => [
847: [
848: 'name' => 'article_id',
849: 'type' => 'int(11)'
850: ],
851: [
852: 'name' => 'store_id',
853: 'type' => 'int(11)',
854: 'default' => '0'
855: ]
856: ],
857: 'primary' => [
858: 'article_id',
859: 'store_id',
860: ],
861: 'foreign' => [
862: [
863: 'key' => 'article_id',
864: 'table' => 'article',
865: 'field' => 'article_id'
866: ],
867: [
868: 'key' => 'store_id',
869: 'table' => 'store',
870: 'field' => 'store_id'
871: ]
872: ],
873: 'engine' => 'InnoDB',
874: 'charset' => 'utf8mb4',
875: 'collate' => 'utf8mb4_general_ci'
876: ];
877:
878: $tables[] = [
879: 'name' => 'topic',
880: 'field' => [
881: [
882: 'name' => 'topic_id',
883: 'type' => 'int(11)',
884: 'auto_increment' => true
885: ],
886: [
887: 'name' => 'sort_order',
888: 'type' => 'int(3)',
889: 'default' => '0'
890: ],
891: [
892: 'name' => 'status',
893: 'type' => 'tinyint(1)'
894: ]
895: ],
896: 'primary' => [
897: 'topic_id'
898: ],
899: 'engine' => 'InnoDB',
900: 'charset' => 'utf8mb4',
901: 'collate' => 'utf8mb4_general_ci'
902: ];
903:
904: $tables[] = [
905: 'name' => 'topic_description',
906: 'field' => [
907: [
908: 'name' => 'topic_id',
909: 'type' => 'int(11)'
910: ],
911: [
912: 'name' => 'language_id',
913: 'type' => 'int(11)'
914: ],
915: [
916: 'name' => 'name',
917: 'type' => 'varchar(255)'
918: ],
919: [
920: 'name' => 'description',
921: 'type' => 'text'
922: ],
923: [
924: 'name' => 'image',
925: 'type' => 'varchar(255)'
926: ],
927: [
928: 'name' => 'meta_title',
929: 'type' => 'varchar(255)'
930: ],
931: [
932: 'name' => 'meta_description',
933: 'type' => 'varchar(255)'
934: ],
935: [
936: 'name' => 'meta_keyword',
937: 'type' => 'varchar(255)'
938: ]
939: ],
940: 'primary' => [
941: 'topic_id',
942: 'language_id'
943: ],
944: 'foreign' => [
945: [
946: 'key' => 'language_id',
947: 'table' => 'language',
948: 'field' => 'language_id'
949: ]
950: ],
951: 'index' => [
952: [
953: 'name' => 'name',
954: 'key' => [
955: 'name'
956: ]
957: ]
958: ],
959: 'engine' => 'InnoDB',
960: 'charset' => 'utf8mb4',
961: 'collate' => 'utf8mb4_general_ci'
962: ];
963:
964: $tables[] = [
965: 'name' => 'topic_to_store',
966: 'field' => [
967: [
968: 'name' => 'topic_id',
969: 'type' => 'int(11)'
970: ],
971: [
972: 'name' => 'store_id',
973: 'type' => 'int(11)',
974: 'default' => '0'
975: ]
976: ],
977: 'primary' => [
978: 'topic_id',
979: 'store_id',
980: ],
981: 'foreign' => [
982: [
983: 'key' => 'topic_id',
984: 'table' => 'topic',
985: 'field' => 'topic_id'
986: ],
987: [
988: 'key' => 'store_id',
989: 'table' => 'store',
990: 'field' => 'store_id'
991: ]
992: ],
993: 'engine' => 'InnoDB',
994: 'charset' => 'utf8mb4',
995: 'collate' => 'utf8mb4_general_ci'
996: ];
997:
998: $tables[] = [
999: 'name' => 'cart',
1000: 'field' => [
1001: [
1002: 'name' => 'cart_id',
1003: 'type' => 'int(11)',
1004: 'auto_increment' => true
1005: ],
1006: [
1007: 'name' => 'api_id',
1008: 'type' => 'int(11)'
1009: ],
1010: [
1011: 'name' => 'customer_id',
1012: 'type' => 'int(11)'
1013: ],
1014: [
1015: 'name' => 'session_id',
1016: 'type' => 'varchar(32)'
1017: ],
1018: [
1019: 'name' => 'product_id',
1020: 'type' => 'int(11)'
1021: ],
1022: [
1023: 'name' => 'subscription_plan_id',
1024: 'type' => 'int(11)'
1025: ],
1026: [
1027: 'name' => 'option',
1028: 'type' => 'text'
1029: ],
1030: [
1031: 'name' => 'quantity',
1032: 'type' => 'int(5)'
1033: ],
1034: [
1035: 'name' => 'override',
1036: 'type' => 'tinyint(1)'
1037: ],
1038: [
1039: 'name' => 'price',
1040: 'type' => 'decimal(15,4)'
1041: ],
1042: [
1043: 'name' => 'date_added',
1044: 'type' => 'datetime'
1045: ]
1046: ],
1047: 'primary' => [
1048: 'cart_id'
1049: ],
1050: 'foreign' => [
1051: [
1052: 'key' => 'api_id',
1053: 'table' => 'api',
1054: 'field' => 'api_id'
1055: ],
1056: [
1057: 'key' => 'customer_id',
1058: 'table' => 'customer',
1059: 'field' => 'customer_id'
1060: ],
1061: [
1062: 'key' => 'session_id',
1063: 'table' => 'session',
1064: 'field' => 'session_id'
1065: ],
1066: [
1067: 'key' => 'product_id',
1068: 'table' => 'product',
1069: 'field' => 'product_id'
1070: ],
1071: [
1072: 'key' => 'subscription_plan_id',
1073: 'table' => 'subscription_plan',
1074: 'field' => 'subscription_plan_id'
1075: ]
1076: ],
1077: 'index' => [
1078: [
1079: 'name' => 'cart_id',
1080: 'key' => [
1081: 'api_id',
1082: 'customer_id',
1083: 'session_id',
1084: 'product_id',
1085: 'subscription_plan_id'
1086: ]
1087: ]
1088: ],
1089: 'engine' => 'InnoDB',
1090: 'charset' => 'utf8mb4',
1091: 'collate' => 'utf8mb4_general_ci'
1092: ];
1093:
1094: $tables[] = [
1095: 'name' => 'category',
1096: 'field' => [
1097: [
1098: 'name' => 'category_id',
1099: 'type' => 'int(11)',
1100: 'auto_increment' => true
1101: ],
1102: [
1103: 'name' => 'image',
1104: 'type' => 'varchar(255)'
1105: ],
1106: [
1107: 'name' => 'parent_id',
1108: 'type' => 'int(11)',
1109: 'default' => '0'
1110: ],
1111: [
1112: 'name' => 'column',
1113: 'type' => 'int(3)'
1114: ],
1115: [
1116: 'name' => 'sort_order',
1117: 'type' => 'int(3)',
1118: 'default' => '0'
1119: ],
1120: [
1121: 'name' => 'status',
1122: 'type' => 'tinyint(1)'
1123: ],
1124: [
1125: 'name' => 'date_added',
1126: 'type' => 'datetime'
1127: ],
1128: [
1129: 'name' => 'date_modified',
1130: 'type' => 'datetime'
1131: ]
1132: ],
1133: 'primary' => [
1134: 'category_id'
1135: ],
1136: 'index' => [
1137: [
1138: 'name' => 'parent_id',
1139: 'key' => [
1140: 'parent_id'
1141: ]
1142: ]
1143: ],
1144: 'engine' => 'InnoDB',
1145: 'charset' => 'utf8mb4',
1146: 'collate' => 'utf8mb4_general_ci'
1147: ];
1148:
1149: $tables[] = [
1150: 'name' => 'category_description',
1151: 'field' => [
1152: [
1153: 'name' => 'category_id',
1154: 'type' => 'int(11)'
1155: ],
1156: [
1157: 'name' => 'language_id',
1158: 'type' => 'int(11)'
1159: ],
1160: [
1161: 'name' => 'name',
1162: 'type' => 'varchar(255)'
1163: ],
1164: [
1165: 'name' => 'description',
1166: 'type' => 'text'
1167: ],
1168: [
1169: 'name' => 'meta_title',
1170: 'type' => 'varchar(255)'
1171: ],
1172: [
1173: 'name' => 'meta_description',
1174: 'type' => 'varchar(255)'
1175: ],
1176: [
1177: 'name' => 'meta_keyword',
1178: 'type' => 'varchar(255)'
1179: ]
1180: ],
1181: 'primary' => [
1182: 'category_id',
1183: 'language_id'
1184: ],
1185: 'foreign' => [
1186: [
1187: 'key' => 'language_id',
1188: 'table' => 'language',
1189: 'field' => 'language_id'
1190: ]
1191: ],
1192: 'index' => [
1193: [
1194: 'name' => 'name',
1195: 'key' => [
1196: 'name'
1197: ]
1198: ]
1199: ],
1200: 'engine' => 'InnoDB',
1201: 'charset' => 'utf8mb4',
1202: 'collate' => 'utf8mb4_general_ci'
1203: ];
1204:
1205: $tables[] = [
1206: 'name' => 'category_filter',
1207: 'field' => [
1208: [
1209: 'name' => 'category_id',
1210: 'type' => 'int(11)'
1211: ],
1212: [
1213: 'name' => 'filter_id',
1214: 'type' => 'int(11)'
1215: ]
1216: ],
1217: 'primary' => [
1218: 'category_id',
1219: 'filter_id'
1220: ],
1221: 'foreign' => [
1222: [
1223: 'key' => 'category_id',
1224: 'table' => 'category',
1225: 'field' => 'category_id'
1226: ],
1227: [
1228: 'key' => 'filter_id',
1229: 'table' => 'filter',
1230: 'field' => 'filter_id'
1231: ]
1232: ],
1233: 'engine' => 'InnoDB',
1234: 'charset' => 'utf8mb4',
1235: 'collate' => 'utf8mb4_general_ci'
1236: ];
1237:
1238: $tables[] = [
1239: 'name' => 'category_path',
1240: 'field' => [
1241: [
1242: 'name' => 'category_id',
1243: 'type' => 'int(11)'
1244: ],
1245: [
1246: 'name' => 'path_id',
1247: 'type' => 'int(11)'
1248: ],
1249: [
1250: 'name' => 'level',
1251: 'type' => 'int(11)'
1252: ]
1253: ],
1254: 'primary' => [
1255: 'category_id',
1256: 'path_id'
1257: ],
1258: 'foreign' => [
1259: [
1260: 'key' => 'category_id',
1261: 'table' => 'category',
1262: 'field' => 'category_id'
1263: ]
1264: ],
1265: 'engine' => 'InnoDB',
1266: 'charset' => 'utf8mb4',
1267: 'collate' => 'utf8mb4_general_ci'
1268: ];
1269:
1270: $tables[] = [
1271: 'name' => 'category_to_layout',
1272: 'field' => [
1273: [
1274: 'name' => 'category_id',
1275: 'type' => 'int(11)'
1276: ],
1277: [
1278: 'name' => 'store_id',
1279: 'type' => 'int(11)'
1280: ],
1281: [
1282: 'name' => 'layout_id',
1283: 'type' => 'int(11)'
1284: ]
1285: ],
1286: 'primary' => [
1287: 'category_id',
1288: 'store_id'
1289: ],
1290: 'foreign' => [
1291: [
1292: 'key' => 'category_id',
1293: 'table' => 'category',
1294: 'field' => 'category_id'
1295: ],
1296: [
1297: 'key' => 'store_id',
1298: 'table' => 'store',
1299: 'field' => 'store_id'
1300: ],
1301: [
1302: 'key' => 'layout_id',
1303: 'table' => 'layout',
1304: 'field' => 'layout_id'
1305: ]
1306: ],
1307: 'engine' => 'InnoDB',
1308: 'charset' => 'utf8mb4',
1309: 'collate' => 'utf8mb4_general_ci'
1310: ];
1311:
1312: $tables[] = [
1313: 'name' => 'category_to_store',
1314: 'field' => [
1315: [
1316: 'name' => 'category_id',
1317: 'type' => 'int(11)'
1318: ],
1319: [
1320: 'name' => 'store_id',
1321: 'type' => 'int(11)',
1322: 'default' => '0'
1323: ]
1324: ],
1325: 'primary' => [
1326: 'category_id',
1327: 'store_id',
1328: ],
1329: 'foreign' => [
1330: [
1331: 'key' => 'category_id',
1332: 'table' => 'category',
1333: 'field' => 'category_id'
1334: ],
1335: [
1336: 'key' => 'store_id',
1337: 'table' => 'store',
1338: 'field' => 'store_id'
1339: ]
1340: ],
1341: 'engine' => 'InnoDB',
1342: 'charset' => 'utf8mb4',
1343: 'collate' => 'utf8mb4_general_ci'
1344: ];
1345:
1346: $tables[] = [
1347: 'name' => 'country',
1348: 'field' => [
1349: [
1350: 'name' => 'country_id',
1351: 'type' => 'int(11)',
1352: 'auto_increment' => true
1353: ],
1354: [
1355: 'name' => 'name',
1356: 'type' => 'varchar(128)'
1357: ],
1358: [
1359: 'name' => 'iso_code_2',
1360: 'type' => 'varchar(2)'
1361: ],
1362: [
1363: 'name' => 'iso_code_3',
1364: 'type' => 'varchar(3)'
1365: ],
1366: [
1367: 'name' => 'address_format_id',
1368: 'type' => 'int(11)'
1369: ],
1370: [
1371: 'name' => 'postcode_required',
1372: 'type' => 'tinyint(1)'
1373: ],
1374: [
1375: 'name' => 'status',
1376: 'type' => 'tinyint(1)',
1377: 'default' => '1'
1378: ]
1379: ],
1380: 'primary' => [
1381: 'country_id'
1382: ],
1383: 'engine' => 'InnoDB',
1384: 'charset' => 'utf8mb4',
1385: 'collate' => 'utf8mb4_general_ci'
1386: ];
1387:
1388: $tables[] = [
1389: 'name' => 'coupon',
1390: 'field' => [
1391: [
1392: 'name' => 'coupon_id',
1393: 'type' => 'int(11)',
1394: 'auto_increment' => true
1395: ],
1396: [
1397: 'name' => 'name',
1398: 'type' => 'varchar(128)'
1399: ],
1400: [
1401: 'name' => 'code',
1402: 'type' => 'varchar(20)'
1403: ],
1404: [
1405: 'name' => 'type',
1406: 'type' => 'char(1)'
1407: ],
1408: [
1409: 'name' => 'discount',
1410: 'type' => 'decimal(15,4)'
1411: ],
1412: [
1413: 'name' => 'logged',
1414: 'type' => 'tinyint(1)'
1415: ],
1416: [
1417: 'name' => 'shipping',
1418: 'type' => 'tinyint(1)'
1419: ],
1420: [
1421: 'name' => 'total',
1422: 'type' => 'decimal(15,4)'
1423: ],
1424: [
1425: 'name' => 'date_start',
1426: 'type' => 'date'
1427: ],
1428: [
1429: 'name' => 'date_end',
1430: 'type' => 'date'
1431: ],
1432: [
1433: 'name' => 'uses_total',
1434: 'type' => 'int(11)'
1435: ],
1436: [
1437: 'name' => 'uses_customer',
1438: 'type' => 'int(11)'
1439: ],
1440: [
1441: 'name' => 'status',
1442: 'type' => 'tinyint(1)'
1443: ],
1444: [
1445: 'name' => 'date_added',
1446: 'type' => 'datetime'
1447: ]
1448: ],
1449: 'primary' => [
1450: 'coupon_id'
1451: ],
1452: 'engine' => 'InnoDB',
1453: 'charset' => 'utf8mb4',
1454: 'collate' => 'utf8mb4_general_ci'
1455: ];
1456:
1457: $tables[] = [
1458: 'name' => 'coupon_category',
1459: 'field' => [
1460: [
1461: 'name' => 'coupon_id',
1462: 'type' => 'int(11)'
1463: ],
1464: [
1465: 'name' => 'category_id',
1466: 'type' => 'int(11)'
1467: ]
1468: ],
1469: 'primary' => [
1470: 'coupon_id',
1471: 'category_id'
1472: ],
1473: 'foreign' => [
1474: [
1475: 'key' => 'coupon_id',
1476: 'table' => 'coupon',
1477: 'field' => 'coupon_id'
1478: ],
1479: [
1480: 'key' => 'category_id',
1481: 'table' => 'category',
1482: 'field' => 'category_id'
1483: ]
1484: ],
1485: 'engine' => 'InnoDB',
1486: 'charset' => 'utf8mb4',
1487: 'collate' => 'utf8mb4_general_ci'
1488: ];
1489:
1490: $tables[] = [
1491: 'name' => 'coupon_history',
1492: 'field' => [
1493: [
1494: 'name' => 'coupon_history_id',
1495: 'type' => 'int(11)',
1496: 'auto_increment' => true
1497: ],
1498: [
1499: 'name' => 'coupon_id',
1500: 'type' => 'int(11)'
1501: ],
1502: [
1503: 'name' => 'order_id',
1504: 'type' => 'int(11)'
1505: ],
1506: [
1507: 'name' => 'customer_id',
1508: 'type' => 'int(11)'
1509: ],
1510: [
1511: 'name' => 'amount',
1512: 'type' => 'decimal(15,4)'
1513: ],
1514: [
1515: 'name' => 'date_added',
1516: 'type' => 'datetime'
1517: ]
1518: ],
1519: 'primary' => [
1520: 'coupon_history_id'
1521: ],
1522: 'foreign' => [
1523: [
1524: 'key' => 'coupon_id',
1525: 'table' => 'coupon',
1526: 'field' => 'coupon_id'
1527: ],
1528: [
1529: 'key' => 'order_id',
1530: 'table' => 'order',
1531: 'field' => 'order_id'
1532: ],
1533: [
1534: 'key' => 'customer_id',
1535: 'table' => 'customer',
1536: 'field' => 'customer_id'
1537: ]
1538: ],
1539: 'engine' => 'InnoDB',
1540: 'charset' => 'utf8mb4',
1541: 'collate' => 'utf8mb4_general_ci'
1542: ];
1543:
1544: $tables[] = [
1545: 'name' => 'coupon_product',
1546: 'field' => [
1547: [
1548: 'name' => 'coupon_product_id',
1549: 'type' => 'int(11)',
1550: 'auto_increment' => true
1551: ],
1552: [
1553: 'name' => 'coupon_id',
1554: 'type' => 'int(11)'
1555: ],
1556: [
1557: 'name' => 'product_id',
1558: 'type' => 'int(11)'
1559: ]
1560: ],
1561: 'primary' => [
1562: 'coupon_product_id'
1563: ],
1564: 'foreign' => [
1565: [
1566: 'key' => 'coupon_id',
1567: 'table' => 'coupon',
1568: 'field' => 'coupon_id'
1569: ],
1570: [
1571: 'key' => 'product_id',
1572: 'table' => 'product',
1573: 'field' => 'product_id'
1574: ]
1575: ],
1576: 'engine' => 'InnoDB',
1577: 'charset' => 'utf8mb4',
1578: 'collate' => 'utf8mb4_general_ci'
1579: ];
1580:
1581: $tables[] = [
1582: 'name' => 'cron',
1583: 'field' => [
1584: [
1585: 'name' => 'cron_id',
1586: 'type' => 'int(11)',
1587: 'auto_increment' => true
1588: ],
1589: [
1590: 'name' => 'code',
1591: 'type' => 'varchar(128)'
1592: ],
1593: [
1594: 'name' => 'description',
1595: 'type' => 'text'
1596: ],
1597: [
1598: 'name' => 'cycle',
1599: 'type' => 'varchar(12)'
1600: ],
1601: [
1602: 'name' => 'action',
1603: 'type' => 'text'
1604: ],
1605: [
1606: 'name' => 'status',
1607: 'type' => 'tinyint(1)'
1608: ],
1609: [
1610: 'name' => 'date_added',
1611: 'type' => 'datetime'
1612: ],
1613: [
1614: 'name' => 'date_modified',
1615: 'type' => 'datetime'
1616: ]
1617: ],
1618: 'primary' => [
1619: 'cron_id'
1620: ],
1621: 'engine' => 'InnoDB',
1622: 'charset' => 'utf8mb4',
1623: 'collate' => 'utf8mb4_general_ci'
1624: ];
1625:
1626: $tables[] = [
1627: 'name' => 'currency',
1628: 'field' => [
1629: [
1630: 'name' => 'currency_id',
1631: 'type' => 'int(11)',
1632: 'auto_increment' => true
1633: ],
1634: [
1635: 'name' => 'title',
1636: 'type' => 'varchar(32)'
1637: ],
1638: [
1639: 'name' => 'code',
1640: 'type' => 'varchar(3)'
1641: ],
1642: [
1643: 'name' => 'symbol_left',
1644: 'type' => 'varchar(12)'
1645: ],
1646: [
1647: 'name' => 'symbol_right',
1648: 'type' => 'varchar(12)'
1649: ],
1650: [
1651: 'name' => 'decimal_place',
1652: 'type' => 'int(1)'
1653: ],
1654: [
1655: 'name' => 'value',
1656: 'type' => 'double(15,8)'
1657: ],
1658: [
1659: 'name' => 'status',
1660: 'type' => 'tinyint(1)'
1661: ],
1662: [
1663: 'name' => 'date_modified',
1664: 'type' => 'datetime'
1665: ]
1666: ],
1667: 'primary' => [
1668: 'currency_id'
1669: ],
1670: 'engine' => 'InnoDB',
1671: 'charset' => 'utf8mb4',
1672: 'collate' => 'utf8mb4_general_ci'
1673: ];
1674:
1675: $tables[] = [
1676: 'name' => 'customer',
1677: 'field' => [
1678: [
1679: 'name' => 'customer_id',
1680: 'type' => 'int(11)',
1681: 'auto_increment' => true
1682: ],
1683: [
1684: 'name' => 'customer_group_id',
1685: 'type' => 'int(11)'
1686: ],
1687: [
1688: 'name' => 'store_id',
1689: 'type' => 'int(11)',
1690: 'default' => '0'
1691: ],
1692: [
1693: 'name' => 'language_id',
1694: 'type' => 'int(11)'
1695: ],
1696: [
1697: 'name' => 'firstname',
1698: 'type' => 'varchar(32)'
1699: ],
1700: [
1701: 'name' => 'lastname',
1702: 'type' => 'varchar(32)'
1703: ],
1704: [
1705: 'name' => 'email',
1706: 'type' => 'varchar(96)'
1707: ],
1708: [
1709: 'name' => 'telephone',
1710: 'type' => 'varchar(32)'
1711: ],
1712: [
1713: 'name' => 'password',
1714: 'type' => 'varchar(255)'
1715: ],
1716: [
1717: 'name' => 'custom_field',
1718: 'type' => 'text'
1719: ],
1720: [
1721: 'name' => 'newsletter',
1722: 'type' => 'tinyint(1)'
1723: ],
1724: [
1725: 'name' => 'ip',
1726: 'type' => 'varchar(40)'
1727: ],
1728: [
1729: 'name' => 'status',
1730: 'type' => 'tinyint(1)'
1731: ],
1732: [
1733: 'name' => 'safe',
1734: 'type' => 'tinyint(1)'
1735: ],
1736: [
1737: 'name' => 'commenter',
1738: 'type' => 'tinyint(1)'
1739: ],
1740: [
1741: 'name' => 'token',
1742: 'type' => 'text'
1743: ],
1744: [
1745: 'name' => 'code',
1746: 'type' => 'varchar(40)'
1747: ],
1748: [
1749: 'name' => 'date_added',
1750: 'type' => 'datetime'
1751: ]
1752: ],
1753: 'primary' => [
1754: 'customer_id'
1755: ],
1756: 'foreign' => [
1757: [
1758: 'key' => 'customer_group_id',
1759: 'table' => 'customer_group',
1760: 'field' => 'customer_group_id'
1761: ],
1762: [
1763: 'key' => 'store_id',
1764: 'table' => 'store',
1765: 'field' => 'store_id'
1766: ],
1767: [
1768: 'key' => 'language_id',
1769: 'table' => 'language',
1770: 'field' => 'language_id'
1771: ]
1772: ],
1773: 'index' => [
1774: [
1775: 'name' => 'email',
1776: 'key' => [
1777: 'email'
1778: ]
1779: ]
1780: ],
1781: 'engine' => 'InnoDB',
1782: 'charset' => 'utf8mb4',
1783: 'collate' => 'utf8mb4_general_ci'
1784: ];
1785:
1786: $tables[] = [
1787: 'name' => 'customer_activity',
1788: 'field' => [
1789: [
1790: 'name' => 'customer_activity_id',
1791: 'type' => 'int(11)',
1792: 'auto_increment' => true
1793: ],
1794: [
1795: 'name' => 'customer_id',
1796: 'type' => 'int(11)'
1797: ],
1798: [
1799: 'name' => 'key',
1800: 'type' => 'varchar(64)'
1801: ],
1802: [
1803: 'name' => 'data',
1804: 'type' => 'text'
1805: ],
1806: [
1807: 'name' => 'ip',
1808: 'type' => 'varchar(40)'
1809: ],
1810: [
1811: 'name' => 'date_added',
1812: 'type' => 'datetime'
1813: ]
1814: ],
1815: 'primary' => [
1816: 'customer_activity_id'
1817: ],
1818: 'foreign' => [
1819: [
1820: 'key' => 'customer_id',
1821: 'table' => 'customer',
1822: 'field' => 'customer_id'
1823: ]
1824: ],
1825: 'engine' => 'InnoDB',
1826: 'charset' => 'utf8mb4',
1827: 'collate' => 'utf8mb4_general_ci'
1828: ];
1829:
1830: $tables[] = [
1831: 'name' => 'customer_affiliate',
1832: 'field' => [
1833: [
1834: 'name' => 'customer_id',
1835: 'type' => 'int(11)'
1836: ],
1837: [
1838: 'name' => 'company',
1839: 'type' => 'varchar(60)'
1840: ],
1841: [
1842: 'name' => 'website',
1843: 'type' => 'varchar(255)'
1844: ],
1845: [
1846: 'name' => 'tracking',
1847: 'type' => 'varchar(64)'
1848: ],
1849: [
1850: 'name' => 'balance',
1851: 'type' => 'decimal(15,4)'
1852: ],
1853: [
1854: 'name' => 'commission',
1855: 'type' => 'decimal(4,2)',
1856: 'default' => '0.00'
1857: ],
1858: [
1859: 'name' => 'tax',
1860: 'type' => 'varchar(64)'
1861: ],
1862: [
1863: 'name' => 'payment_method',
1864: 'type' => 'varchar(6)'
1865: ],
1866: [
1867: 'name' => 'cheque',
1868: 'type' => 'varchar(100)'
1869: ],
1870: [
1871: 'name' => 'paypal',
1872: 'type' => 'varchar(64)'
1873: ],
1874: [
1875: 'name' => 'bank_name',
1876: 'type' => 'varchar(64)'
1877: ],
1878: [
1879: 'name' => 'bank_branch_number',
1880: 'type' => 'varchar(64)'
1881: ],
1882: [
1883: 'name' => 'bank_swift_code',
1884: 'type' => 'varchar(64)'
1885: ],
1886: [
1887: 'name' => 'bank_account_name',
1888: 'type' => 'varchar(64)'
1889: ],
1890: [
1891: 'name' => 'bank_account_number',
1892: 'type' => 'varchar(64)'
1893: ],
1894: [
1895: 'name' => 'custom_field',
1896: 'type' => 'text'
1897: ],
1898: [
1899: 'name' => 'status',
1900: 'type' => 'tinyint(1)'
1901: ],
1902: [
1903: 'name' => 'date_added',
1904: 'type' => 'datetime'
1905: ]
1906: ],
1907: 'primary' => [
1908: 'customer_id'
1909: ],
1910: 'foreign' => [
1911: [
1912: 'key' => 'customer_id',
1913: 'table' => 'customer',
1914: 'field' => 'customer_id'
1915: ]
1916: ],
1917: 'engine' => 'InnoDB',
1918: 'charset' => 'utf8mb4',
1919: 'collate' => 'utf8mb4_general_ci'
1920: ];
1921:
1922: $tables[] = [
1923: 'name' => 'customer_affiliate_report',
1924: 'field' => [
1925: [
1926: 'name' => 'customer_affiliate_report_id',
1927: 'type' => 'int(11)',
1928: 'auto_increment' => true
1929: ],
1930: [
1931: 'name' => 'customer_id',
1932: 'type' => 'int(11)'
1933: ],
1934: [
1935: 'name' => 'store_id',
1936: 'type' => 'int(11)'
1937: ],
1938: [
1939: 'name' => 'ip',
1940: 'type' => 'varchar(40)'
1941: ],
1942: [
1943: 'name' => 'country',
1944: 'type' => 'varchar(2)'
1945: ],
1946: [
1947: 'name' => 'date_added',
1948: 'type' => 'datetime'
1949: ]
1950: ],
1951: 'primary' => [
1952: 'customer_affiliate_report_id'
1953: ],
1954: 'foreign' => [
1955: [
1956: 'key' => 'customer_id',
1957: 'table' => 'customer',
1958: 'field' => 'customer_id'
1959: ],
1960: [
1961: 'key' => 'store_id',
1962: 'table' => 'store',
1963: 'field' => 'store_id'
1964: ]
1965: ],
1966: 'engine' => 'InnoDB',
1967: 'charset' => 'utf8mb4',
1968: 'collate' => 'utf8mb4_general_ci'
1969: ];
1970:
1971: $tables[] = [
1972: 'name' => 'customer_approval',
1973: 'field' => [
1974: [
1975: 'name' => 'customer_approval_id',
1976: 'type' => 'int(11)',
1977: 'auto_increment' => true
1978: ],
1979: [
1980: 'name' => 'customer_id',
1981: 'type' => 'int(11)'
1982: ],
1983: [
1984: 'name' => 'type',
1985: 'type' => 'varchar(9)'
1986: ],
1987: [
1988: 'name' => 'date_added',
1989: 'type' => 'datetime'
1990: ]
1991: ],
1992: 'primary' => [
1993: 'customer_approval_id'
1994: ],
1995: 'foreign' => [
1996: [
1997: 'key' => 'customer_id',
1998: 'table' => 'customer',
1999: 'field' => 'customer_id'
2000: ]
2001: ],
2002: 'engine' => 'InnoDB',
2003: 'charset' => 'utf8mb4',
2004: 'collate' => 'utf8mb4_general_ci'
2005: ];
2006:
2007: $tables[] = [
2008: 'name' => 'customer_authorize',
2009: 'field' => [
2010: [
2011: 'name' => 'customer_authorize_id',
2012: 'type' => 'int(11)',
2013: 'auto_increment' => true
2014: ],
2015: [
2016: 'name' => 'customer_id',
2017: 'type' => 'int(11)'
2018: ],
2019: [
2020: 'name' => 'token',
2021: 'type' => 'varchar(96)'
2022: ],
2023: [
2024: 'name' => 'total',
2025: 'type' => 'int(1)'
2026: ],
2027: [
2028: 'name' => 'ip',
2029: 'type' => 'varchar(40)'
2030: ],
2031: [
2032: 'name' => 'user_agent',
2033: 'type' => 'varchar(255)'
2034: ],
2035: [
2036: 'name' => 'status',
2037: 'type' => 'tinyint(1)'
2038: ],
2039: [
2040: 'name' => 'date_added',
2041: 'type' => 'datetime'
2042: ]
2043: ],
2044: 'primary' => [
2045: 'customer_authorize_id'
2046: ],
2047: 'foreign' => [
2048: [
2049: 'key' => 'customer_id',
2050: 'table' => 'customer',
2051: 'field' => 'customer_id'
2052: ]
2053: ],
2054: 'engine' => 'InnoDB',
2055: 'charset' => 'utf8mb4',
2056: 'collate' => 'utf8mb4_general_ci'
2057: ];
2058:
2059: $tables[] = [
2060: 'name' => 'customer_group',
2061: 'field' => [
2062: [
2063: 'name' => 'customer_group_id',
2064: 'type' => 'int(11)',
2065: 'auto_increment' => true
2066: ],
2067: [
2068: 'name' => 'approval',
2069: 'type' => 'int(1)'
2070: ],
2071: [
2072: 'name' => 'sort_order',
2073: 'type' => 'int(3)'
2074: ]
2075: ],
2076: 'primary' => [
2077: 'customer_group_id'
2078: ],
2079: 'engine' => 'InnoDB',
2080: 'charset' => 'utf8mb4',
2081: 'collate' => 'utf8mb4_general_ci'
2082: ];
2083:
2084: $tables[] = [
2085: 'name' => 'customer_group_description',
2086: 'field' => [
2087: [
2088: 'name' => 'customer_group_id',
2089: 'type' => 'int(11)'
2090: ],
2091: [
2092: 'name' => 'language_id',
2093: 'type' => 'int(11)'
2094: ],
2095: [
2096: 'name' => 'name',
2097: 'type' => 'varchar(32)'
2098: ],
2099: [
2100: 'name' => 'description',
2101: 'type' => 'text'
2102: ]
2103: ],
2104: 'primary' => [
2105: 'customer_group_id',
2106: 'language_id'
2107: ],
2108: 'foreign' => [
2109: [
2110: 'key' => 'customer_group_id',
2111: 'table' => 'customer_group',
2112: 'field' => 'customer_group_id'
2113: ],
2114: [
2115: 'key' => 'language_id',
2116: 'table' => 'language',
2117: 'field' => 'language_id'
2118: ]
2119: ],
2120: 'engine' => 'InnoDB',
2121: 'charset' => 'utf8mb4',
2122: 'collate' => 'utf8mb4_general_ci'
2123: ];
2124:
2125: $tables[] = [
2126: 'name' => 'customer_history',
2127: 'field' => [
2128: [
2129: 'name' => 'customer_history_id',
2130: 'type' => 'int(11)',
2131: 'auto_increment' => true
2132: ],
2133: [
2134: 'name' => 'customer_id',
2135: 'type' => 'int(11)'
2136: ],
2137: [
2138: 'name' => 'comment',
2139: 'type' => 'text'
2140: ],
2141: [
2142: 'name' => 'date_added',
2143: 'type' => 'datetime'
2144: ]
2145: ],
2146: 'primary' => [
2147: 'customer_history_id'
2148: ],
2149: 'engine' => 'InnoDB',
2150: 'charset' => 'utf8mb4',
2151: 'collate' => 'utf8mb4_general_ci'
2152: ];
2153:
2154: $tables[] = [
2155: 'name' => 'customer_login',
2156: 'field' => [
2157: [
2158: 'name' => 'customer_login_id',
2159: 'type' => 'int(11)',
2160: 'auto_increment' => true
2161: ],
2162: [
2163: 'name' => 'email',
2164: 'type' => 'varchar(96)'
2165: ],
2166: [
2167: 'name' => 'ip',
2168: 'type' => 'varchar(40)'
2169: ],
2170: [
2171: 'name' => 'total',
2172: 'type' => 'int(4)'
2173: ],
2174: [
2175: 'name' => 'date_added',
2176: 'type' => 'datetime'
2177: ],
2178: [
2179: 'name' => 'date_modified',
2180: 'type' => 'datetime'
2181: ]
2182: ],
2183: 'primary' => [
2184: 'customer_login_id'
2185: ],
2186: 'index' => [
2187: [
2188: 'name' => 'email',
2189: 'key' => [
2190: 'email'
2191: ]
2192: ],
2193: [
2194: 'name' => 'ip',
2195: 'key' => [
2196: 'ip'
2197: ]
2198: ]
2199: ],
2200: 'engine' => 'InnoDB',
2201: 'charset' => 'utf8mb4',
2202: 'collate' => 'utf8mb4_general_ci'
2203: ];
2204:
2205: $tables[] = [
2206: 'name' => 'customer_ip',
2207: 'field' => [
2208: [
2209: 'name' => 'customer_ip_id',
2210: 'type' => 'int(11)',
2211: 'auto_increment' => true
2212: ],
2213: [
2214: 'name' => 'customer_id',
2215: 'type' => 'int(11)'
2216: ],
2217: [
2218: 'name' => 'store_id',
2219: 'type' => 'int(11)'
2220: ],
2221: [
2222: 'name' => 'ip',
2223: 'type' => 'varchar(40)'
2224: ],
2225: [
2226: 'name' => 'country',
2227: 'type' => 'varchar(2)'
2228: ],
2229: [
2230: 'name' => 'date_added',
2231: 'type' => 'datetime'
2232: ]
2233: ],
2234: 'primary' => [
2235: 'customer_ip_id'
2236: ],
2237: 'foreign' => [
2238: [
2239: 'key' => 'customer_id',
2240: 'table' => 'customer',
2241: 'field' => 'customer_id'
2242: ],
2243: [
2244: 'key' => 'store_id',
2245: 'table' => 'store',
2246: 'field' => 'store_id'
2247: ]
2248: ],
2249: 'index' => [
2250: [
2251: 'name' => 'ip',
2252: 'key' => [
2253: 'ip'
2254: ]
2255: ]
2256: ],
2257: 'engine' => 'InnoDB',
2258: 'charset' => 'utf8mb4',
2259: 'collate' => 'utf8mb4_general_ci'
2260: ];
2261:
2262: $tables[] = [
2263: 'name' => 'customer_online',
2264: 'field' => [
2265: [
2266: 'name' => 'ip',
2267: 'type' => 'varchar(40)'
2268: ],
2269: [
2270: 'name' => 'customer_id',
2271: 'type' => 'int(11)'
2272: ],
2273: [
2274: 'name' => 'url',
2275: 'type' => 'text'
2276: ],
2277: [
2278: 'name' => 'referer',
2279: 'type' => 'text'
2280: ],
2281: [
2282: 'name' => 'date_added',
2283: 'type' => 'datetime'
2284: ]
2285: ],
2286: 'primary' => [
2287: 'ip'
2288: ],
2289: 'engine' => 'InnoDB',
2290: 'charset' => 'utf8mb4',
2291: 'collate' => 'utf8mb4_general_ci'
2292: ];
2293:
2294: $tables[] = [
2295: 'name' => 'customer_reward',
2296: 'field' => [
2297: [
2298: 'name' => 'customer_reward_id',
2299: 'type' => 'int(11)',
2300: 'auto_increment' => true
2301: ],
2302: [
2303: 'name' => 'customer_id',
2304: 'type' => 'int(11)',
2305: 'default' => '0'
2306: ],
2307: [
2308: 'name' => 'order_id',
2309: 'type' => 'int(11)',
2310: 'default' => '0'
2311: ],
2312: [
2313: 'name' => 'description',
2314: 'type' => 'text'
2315: ],
2316: [
2317: 'name' => 'points',
2318: 'type' => 'int(8)',
2319: 'default' => '0'
2320: ],
2321: [
2322: 'name' => 'date_added',
2323: 'type' => 'datetime'
2324: ]
2325: ],
2326: 'primary' => [
2327: 'customer_reward_id'
2328: ],
2329: 'foreign' => [
2330: [
2331: 'key' => 'customer_id',
2332: 'table' => 'customer',
2333: 'field' => 'customer_id'
2334: ],
2335: [
2336: 'key' => 'order_id',
2337: 'table' => 'order',
2338: 'field' => 'order_id'
2339: ]
2340: ],
2341: 'engine' => 'InnoDB',
2342: 'charset' => 'utf8mb4',
2343: 'collate' => 'utf8mb4_general_ci'
2344: ];
2345:
2346: $tables[] = [
2347: 'name' => 'customer_transaction',
2348: 'field' => [
2349: [
2350: 'name' => 'customer_transaction_id',
2351: 'type' => 'int(11)',
2352: 'auto_increment' => true
2353: ],
2354: [
2355: 'name' => 'customer_id',
2356: 'type' => 'int(11)'
2357: ],
2358: [
2359: 'name' => 'order_id',
2360: 'type' => 'int(11)'
2361: ],
2362: [
2363: 'name' => 'description',
2364: 'type' => 'text'
2365: ],
2366: [
2367: 'name' => 'amount',
2368: 'type' => 'decimal(15,4)'
2369: ],
2370: [
2371: 'name' => 'date_added',
2372: 'type' => 'datetime'
2373: ]
2374: ],
2375: 'primary' => [
2376: 'customer_transaction_id'
2377: ],
2378: 'foreign' => [
2379: [
2380: 'key' => 'customer_id',
2381: 'table' => 'customer',
2382: 'field' => 'customer_id'
2383: ],
2384: [
2385: 'key' => 'order_id',
2386: 'table' => 'order',
2387: 'field' => 'order_id'
2388: ]
2389: ],
2390: 'engine' => 'InnoDB',
2391: 'charset' => 'utf8mb4',
2392: 'collate' => 'utf8mb4_general_ci'
2393: ];
2394:
2395: $tables[] = [
2396: 'name' => 'customer_search',
2397: 'field' => [
2398: [
2399: 'name' => 'customer_search_id',
2400: 'type' => 'int(11)',
2401: 'auto_increment' => true
2402: ],
2403: [
2404: 'name' => 'store_id',
2405: 'type' => 'int(11)'
2406: ],
2407: [
2408: 'name' => 'language_id',
2409: 'type' => 'int(11)'
2410: ],
2411: [
2412: 'name' => 'customer_id',
2413: 'type' => 'int(11)'
2414: ],
2415: [
2416: 'name' => 'keyword',
2417: 'type' => 'varchar(255)'
2418: ],
2419: [
2420: 'name' => 'category_id',
2421: 'type' => 'int(11)'
2422: ],
2423: [
2424: 'name' => 'sub_category',
2425: 'type' => 'tinyint(1)'
2426: ],
2427: [
2428: 'name' => 'description',
2429: 'type' => 'tinyint(1)'
2430: ],
2431: [
2432: 'name' => 'products',
2433: 'type' => 'int(11)'
2434: ],
2435: [
2436: 'name' => 'ip',
2437: 'type' => 'varchar(40)'
2438: ],
2439: [
2440: 'name' => 'date_added',
2441: 'type' => 'datetime'
2442: ]
2443: ],
2444: 'primary' => [
2445: 'customer_search_id'
2446: ],
2447: 'foreign' => [
2448: [
2449: 'key' => 'store_id',
2450: 'table' => 'store',
2451: 'field' => 'store_id'
2452: ],
2453: [
2454: 'key' => 'language_id',
2455: 'table' => 'language',
2456: 'field' => 'language_id'
2457: ],
2458: [
2459: 'key' => 'customer_id',
2460: 'table' => 'customer',
2461: 'field' => 'customer_id'
2462: ],
2463: [
2464: 'key' => 'category_id',
2465: 'table' => 'category',
2466: 'field' => 'category_id'
2467: ]
2468: ],
2469: 'engine' => 'InnoDB',
2470: 'charset' => 'utf8mb4',
2471: 'collate' => 'utf8mb4_general_ci'
2472: ];
2473:
2474: $tables[] = [
2475: 'name' => 'customer_wishlist',
2476: 'field' => [
2477: [
2478: 'name' => 'customer_id',
2479: 'type' => 'int(11)'
2480: ],
2481: [
2482: 'name' => 'product_id',
2483: 'type' => 'int(11)'
2484: ],
2485: [
2486: 'name' => 'date_added',
2487: 'type' => 'datetime'
2488: ]
2489: ],
2490: 'primary' => [
2491: 'customer_id',
2492: 'product_id'
2493: ],
2494: 'foreign' => [
2495: [
2496: 'key' => 'customer_id',
2497: 'table' => 'customer',
2498: 'field' => 'customer_id'
2499: ],
2500: [
2501: 'key' => 'product_id',
2502: 'table' => 'product',
2503: 'field' => 'product_id'
2504: ]
2505: ],
2506: 'engine' => 'InnoDB',
2507: 'charset' => 'utf8mb4',
2508: 'collate' => 'utf8mb4_general_ci'
2509: ];
2510:
2511: $tables[] = [
2512: 'name' => 'custom_field',
2513: 'field' => [
2514: [
2515: 'name' => 'custom_field_id',
2516: 'type' => 'int(11)',
2517: 'auto_increment' => true
2518: ],
2519: [
2520: 'name' => 'type',
2521: 'type' => 'varchar(32)'
2522: ],
2523: [
2524: 'name' => 'value',
2525: 'type' => 'text'
2526: ],
2527: [
2528: 'name' => 'validation',
2529: 'type' => 'varchar(255)'
2530: ],
2531: [
2532: 'name' => 'location',
2533: 'type' => 'varchar(10)'
2534: ],
2535: [
2536: 'name' => 'status',
2537: 'type' => 'tinyint(1)'
2538: ],
2539: [
2540: 'name' => 'sort_order',
2541: 'type' => 'int(3)'
2542: ]
2543: ],
2544: 'primary' => [
2545: 'custom_field_id'
2546: ],
2547: 'engine' => 'InnoDB',
2548: 'charset' => 'utf8mb4',
2549: 'collate' => 'utf8mb4_general_ci'
2550: ];
2551:
2552: $tables[] = [
2553: 'name' => 'custom_field_customer_group',
2554: 'field' => [
2555: [
2556: 'name' => 'custom_field_id',
2557: 'type' => 'int(11)'
2558: ],
2559: [
2560: 'name' => 'customer_group_id',
2561: 'type' => 'int(11)'
2562: ],
2563: [
2564: 'name' => 'required',
2565: 'type' => 'tinyint(1)'
2566: ]
2567: ],
2568: 'primary' => [
2569: 'custom_field_id',
2570: 'customer_group_id'
2571: ],
2572: 'foreign' => [
2573: [
2574: 'key' => 'custom_field_id',
2575: 'table' => 'custom_field',
2576: 'field' => 'custom_field_id'
2577: ],
2578: [
2579: 'key' => 'customer_group_id',
2580: 'table' => 'customer_group',
2581: 'field' => 'customer_group_id'
2582: ]
2583: ],
2584: 'engine' => 'InnoDB',
2585: 'charset' => 'utf8mb4',
2586: 'collate' => 'utf8mb4_general_ci'
2587: ];
2588:
2589: $tables[] = [
2590: 'name' => 'custom_field_description',
2591: 'field' => [
2592: [
2593: 'name' => 'custom_field_id',
2594: 'type' => 'int(11)'
2595: ],
2596: [
2597: 'name' => 'language_id',
2598: 'type' => 'int(11)'
2599: ],
2600: [
2601: 'name' => 'name',
2602: 'type' => 'varchar(128)'
2603: ]
2604: ],
2605: 'primary' => [
2606: 'custom_field_id',
2607: 'language_id'
2608: ],
2609: 'foreign' => [
2610: [
2611: 'key' => 'custom_field_id',
2612: 'table' => 'custom_field',
2613: 'field' => 'custom_field_id'
2614: ],
2615: [
2616: 'key' => 'language_id',
2617: 'table' => 'language',
2618: 'field' => 'language_id'
2619: ]
2620: ],
2621: 'engine' => 'InnoDB',
2622: 'charset' => 'utf8mb4',
2623: 'collate' => 'utf8mb4_general_ci'
2624: ];
2625:
2626: $tables[] = [
2627: 'name' => 'custom_field_value',
2628: 'field' => [
2629: [
2630: 'name' => 'custom_field_value_id',
2631: 'type' => 'int(11)',
2632: 'auto_increment' => true
2633: ],
2634: [
2635: 'name' => 'custom_field_id',
2636: 'type' => 'int(11)'
2637: ],
2638: [
2639: 'name' => 'sort_order',
2640: 'type' => 'int(3)'
2641: ]
2642: ],
2643: 'primary' => [
2644: 'custom_field_value_id'
2645: ],
2646: 'foreign' => [
2647: [
2648: 'key' => 'custom_field_id',
2649: 'table' => 'custom_field',
2650: 'field' => 'custom_field_id'
2651: ]
2652: ],
2653: 'engine' => 'InnoDB',
2654: 'charset' => 'utf8mb4',
2655: 'collate' => 'utf8mb4_general_ci'
2656: ];
2657:
2658: $tables[] = [
2659: 'name' => 'custom_field_value_description',
2660: 'field' => [
2661: [
2662: 'name' => 'custom_field_value_id',
2663: 'type' => 'int(11)'
2664: ],
2665: [
2666: 'name' => 'language_id',
2667: 'type' => 'int(11)'
2668: ],
2669: [
2670: 'name' => 'custom_field_id',
2671: 'type' => 'int(11)'
2672: ],
2673: [
2674: 'name' => 'name',
2675: 'type' => 'varchar(128)'
2676: ]
2677: ],
2678: 'primary' => [
2679: 'custom_field_value_id',
2680: 'language_id'
2681: ],
2682: 'foreign' => [
2683: [
2684: 'key' => 'language_id',
2685: 'table' => 'language',
2686: 'field' => 'language_id'
2687: ],
2688: [
2689: 'key' => 'custom_field_id',
2690: 'table' => 'custom_field',
2691: 'field' => 'custom_field_id'
2692: ]
2693: ],
2694: 'engine' => 'InnoDB',
2695: 'charset' => 'utf8mb4',
2696: 'collate' => 'utf8mb4_general_ci'
2697: ];
2698:
2699: $tables[] = [
2700: 'name' => 'download',
2701: 'field' => [
2702: [
2703: 'name' => 'download_id',
2704: 'type' => 'int(11)',
2705: 'auto_increment' => true
2706: ],
2707: [
2708: 'name' => 'filename',
2709: 'type' => 'varchar(160)'
2710: ],
2711: [
2712: 'name' => 'mask',
2713: 'type' => 'varchar(128)'
2714: ],
2715: [
2716: 'name' => 'date_added',
2717: 'type' => 'datetime'
2718: ]
2719: ],
2720: 'primary' => [
2721: 'download_id'
2722: ],
2723: 'engine' => 'InnoDB',
2724: 'charset' => 'utf8mb4',
2725: 'collate' => 'utf8mb4_general_ci'
2726: ];
2727:
2728: $tables[] = [
2729: 'name' => 'download_description',
2730: 'field' => [
2731: [
2732: 'name' => 'download_id',
2733: 'type' => 'int(11)'
2734: ],
2735: [
2736: 'name' => 'language_id',
2737: 'type' => 'int(11)'
2738: ],
2739: [
2740: 'name' => 'name',
2741: 'type' => 'varchar(64)'
2742: ]
2743: ],
2744: 'primary' => [
2745: 'download_id',
2746: 'language_id'
2747: ],
2748: 'foreign' => [
2749: [
2750: 'key' => 'language_id',
2751: 'table' => 'language',
2752: 'field' => 'language_id'
2753: ]
2754: ],
2755: 'engine' => 'InnoDB',
2756: 'charset' => 'utf8mb4',
2757: 'collate' => 'utf8mb4_general_ci'
2758: ];
2759:
2760: $tables[] = [
2761: 'name' => 'download_report',
2762: 'field' => [
2763: [
2764: 'name' => 'download_report_id',
2765: 'type' => 'int(11)',
2766: 'auto_increment' => true
2767: ],
2768: [
2769: 'name' => 'download_id',
2770: 'type' => 'int(11)'
2771: ],
2772: [
2773: 'name' => 'store_id',
2774: 'type' => 'int(11)'
2775: ],
2776: [
2777: 'name' => 'ip',
2778: 'type' => 'varchar(40)'
2779: ],
2780: [
2781: 'name' => 'country',
2782: 'type' => 'varchar(2)'
2783: ],
2784: [
2785: 'name' => 'date_added',
2786: 'type' => 'datetime'
2787: ]
2788: ],
2789: 'primary' => [
2790: 'download_report_id'
2791: ],
2792: 'foreign' => [
2793: [
2794: 'key' => 'download_id',
2795: 'table' => 'download',
2796: 'field' => 'download_id'
2797: ],
2798: [
2799: 'key' => 'store_id',
2800: 'table' => 'store',
2801: 'field' => 'store_id'
2802: ]
2803: ],
2804: 'engine' => 'InnoDB',
2805: 'charset' => 'utf8mb4',
2806: 'collate' => 'utf8mb4_general_ci'
2807: ];
2808:
2809: $tables[] = [
2810: 'name' => 'event',
2811: 'field' => [
2812: [
2813: 'name' => 'event_id',
2814: 'type' => 'int(11)',
2815: 'auto_increment' => true
2816: ],
2817: [
2818: 'name' => 'code',
2819: 'type' => 'varchar(128)'
2820: ],
2821: [
2822: 'name' => 'description',
2823: 'type' => 'text'
2824: ],
2825: [
2826: 'name' => 'trigger',
2827: 'type' => 'text'
2828: ],
2829: [
2830: 'name' => 'action',
2831: 'type' => 'text'
2832: ],
2833: [
2834: 'name' => 'status',
2835: 'type' => 'tinyint(1)',
2836: 'default' => '0'
2837: ],
2838: [
2839: 'name' => 'sort_order',
2840: 'type' => 'int(3)',
2841: 'default' => '1'
2842: ]
2843: ],
2844: 'primary' => [
2845: 'event_id'
2846: ],
2847: 'engine' => 'InnoDB',
2848: 'charset' => 'utf8mb4',
2849: 'collate' => 'utf8mb4_general_ci'
2850: ];
2851:
2852: $tables[] = [
2853: 'name' => 'extension',
2854: 'field' => [
2855: [
2856: 'name' => 'extension_id',
2857: 'type' => 'int(11)',
2858: 'auto_increment' => true
2859: ],
2860: [
2861: 'name' => 'extension',
2862: 'type' => 'varchar(255)'
2863: ],
2864: [
2865: 'name' => 'type',
2866: 'type' => 'varchar(32)'
2867: ],
2868: [
2869: 'name' => 'code',
2870: 'type' => 'varchar(128)'
2871: ]
2872: ],
2873: 'primary' => [
2874: 'extension_id'
2875: ],
2876: 'engine' => 'InnoDB',
2877: 'charset' => 'utf8mb4',
2878: 'collate' => 'utf8mb4_general_ci'
2879: ];
2880:
2881: $tables[] = [
2882: 'name' => 'extension_install',
2883: 'field' => [
2884: [
2885: 'name' => 'extension_install_id',
2886: 'type' => 'int(11)',
2887: 'auto_increment' => true
2888: ],
2889: [
2890: 'name' => 'extension_id',
2891: 'type' => 'int(11)'
2892: ],
2893: [
2894: 'name' => 'extension_download_id',
2895: 'type' => 'int(11)'
2896: ],
2897: [
2898: 'name' => 'name',
2899: 'type' => 'varchar(128)'
2900: ],
2901: [
2902: 'name' => 'description',
2903: 'type' => 'text'
2904: ],
2905: [
2906: 'name' => 'code',
2907: 'type' => 'varchar(255)'
2908: ],
2909: [
2910: 'name' => 'version',
2911: 'type' => 'varchar(255)'
2912: ],
2913: [
2914: 'name' => 'author',
2915: 'type' => 'varchar(255)'
2916: ],
2917: [
2918: 'name' => 'link',
2919: 'type' => 'varchar(255)'
2920: ],
2921: [
2922: 'name' => 'status',
2923: 'type' => 'tinyint(1)'
2924: ],
2925: [
2926: 'name' => 'date_added',
2927: 'type' => 'datetime'
2928: ]
2929: ],
2930: 'primary' => [
2931: 'extension_install_id'
2932: ],
2933: 'foreign' => [
2934: [
2935: 'key' => 'extension_id',
2936: 'table' => 'extension',
2937: 'field' => 'extension_id'
2938: ]
2939: ],
2940: 'engine' => 'InnoDB',
2941: 'charset' => 'utf8mb4',
2942: 'collate' => 'utf8mb4_general_ci'
2943: ];
2944:
2945: $tables[] = [
2946: 'name' => 'extension_path',
2947: 'field' => [
2948: [
2949: 'name' => 'extension_path_id',
2950: 'type' => 'int(11)',
2951: 'auto_increment' => true
2952: ],
2953: [
2954: 'name' => 'extension_install_id',
2955: 'type' => 'int(11)'
2956: ],
2957: [
2958: 'name' => 'path',
2959: 'type' => 'varchar(255)'
2960: ]
2961: ],
2962: 'primary' => [
2963: 'extension_path_id'
2964: ],
2965: 'foreign' => [
2966: [
2967: 'key' => 'extension_install_id',
2968: 'table' => 'extension_install',
2969: 'field' => 'extension_install_id'
2970: ]
2971: ],
2972: 'index' => [
2973: [
2974: 'name' => 'path',
2975: 'key' => [
2976: 'path'
2977: ]
2978: ]
2979: ],
2980: 'engine' => 'InnoDB',
2981: 'charset' => 'utf8mb4',
2982: 'collate' => 'utf8mb4_general_ci'
2983: ];
2984:
2985: $tables[] = [
2986: 'name' => 'filter',
2987: 'field' => [
2988: [
2989: 'name' => 'filter_id',
2990: 'type' => 'int(11)',
2991: 'auto_increment' => true
2992: ],
2993: [
2994: 'name' => 'filter_group_id',
2995: 'type' => 'int(11)'
2996: ],
2997: [
2998: 'name' => 'sort_order',
2999: 'type' => 'int(3)'
3000: ]
3001: ],
3002: 'primary' => [
3003: 'filter_id'
3004: ],
3005: 'foreign' => [
3006: [
3007: 'key' => 'filter_group_id',
3008: 'table' => 'filter_group',
3009: 'field' => 'filter_group_id'
3010: ]
3011: ],
3012: 'engine' => 'InnoDB',
3013: 'charset' => 'utf8mb4',
3014: 'collate' => 'utf8mb4_general_ci'
3015: ];
3016:
3017: $tables[] = [
3018: 'name' => 'filter_description',
3019: 'field' => [
3020: [
3021: 'name' => 'filter_id',
3022: 'type' => 'int(11)'
3023: ],
3024: [
3025: 'name' => 'language_id',
3026: 'type' => 'int(11)'
3027: ],
3028: [
3029: 'name' => 'name',
3030: 'type' => 'varchar(64)'
3031: ]
3032: ],
3033: 'primary' => [
3034: 'filter_id',
3035: 'language_id'
3036: ],
3037: 'foreign' => [
3038: [
3039: 'key' => 'language_id',
3040: 'table' => 'language',
3041: 'field' => 'language_id'
3042: ]
3043: ],
3044: 'engine' => 'InnoDB',
3045: 'charset' => 'utf8mb4',
3046: 'collate' => 'utf8mb4_general_ci'
3047: ];
3048:
3049: $tables[] = [
3050: 'name' => 'filter_group',
3051: 'field' => [
3052: [
3053: 'name' => 'filter_group_id',
3054: 'type' => 'int(11)',
3055: 'auto_increment' => true
3056: ],
3057: [
3058: 'name' => 'sort_order',
3059: 'type' => 'int(3)'
3060: ]
3061: ],
3062: 'primary' => [
3063: 'filter_group_id'
3064: ],
3065: 'engine' => 'InnoDB',
3066: 'charset' => 'utf8mb4',
3067: 'collate' => 'utf8mb4_general_ci'
3068: ];
3069:
3070: $tables[] = [
3071: 'name' => 'filter_group_description',
3072: 'field' => [
3073: [
3074: 'name' => 'filter_group_id',
3075: 'type' => 'int(11)'
3076: ],
3077: [
3078: 'name' => 'language_id',
3079: 'type' => 'int(11)'
3080: ],
3081: [
3082: 'name' => 'name',
3083: 'type' => 'varchar(64)'
3084: ]
3085: ],
3086: 'primary' => [
3087: 'filter_group_id',
3088: 'language_id'
3089: ],
3090: 'foreign' => [
3091: [
3092: 'key' => 'filter_group_id',
3093: 'table' => 'filter_group',
3094: 'field' => 'filter_group_id'
3095: ],
3096: [
3097: 'key' => 'language_id',
3098: 'table' => 'language',
3099: 'field' => 'language_id'
3100: ]
3101: ],
3102: 'engine' => 'InnoDB',
3103: 'charset' => 'utf8mb4',
3104: 'collate' => 'utf8mb4_general_ci'
3105: ];
3106:
3107: $tables[] = [
3108: 'name' => 'gdpr',
3109: 'field' => [
3110: [
3111: 'name' => 'gdpr_id',
3112: 'type' => 'int(11)',
3113: 'auto_increment' => true
3114: ],
3115: [
3116: 'name' => 'store_id',
3117: 'type' => 'int(11)'
3118: ],
3119: [
3120: 'name' => 'language_id',
3121: 'type' => 'int(11)'
3122: ],
3123: [
3124: 'name' => 'code',
3125: 'type' => 'varchar(40)'
3126: ],
3127: [
3128: 'name' => 'email',
3129: 'type' => 'varchar(96)'
3130: ],
3131: [
3132: 'name' => 'action',
3133: 'type' => 'varchar(6)'
3134: ],
3135: [
3136: 'name' => 'status',
3137: 'type' => 'tinyint(1)'
3138: ],
3139: [
3140: 'name' => 'date_added',
3141: 'type' => 'datetime'
3142: ]
3143: ],
3144: 'primary' => [
3145: 'gdpr_id'
3146: ],
3147: 'foreign' => [
3148: [
3149: 'key' => 'store_id',
3150: 'table' => 'store',
3151: 'field' => 'store_id'
3152: ],
3153: [
3154: 'key' => 'language_id',
3155: 'table' => 'language',
3156: 'field' => 'language_id'
3157: ]
3158: ],
3159: 'engine' => 'InnoDB',
3160: 'charset' => 'utf8mb4',
3161: 'collate' => 'utf8mb4_general_ci'
3162: ];
3163:
3164: $tables[] = [
3165: 'name' => 'geo_zone',
3166: 'field' => [
3167: [
3168: 'name' => 'geo_zone_id',
3169: 'type' => 'int(11)',
3170: 'auto_increment' => true
3171: ],
3172: [
3173: 'name' => 'name',
3174: 'type' => 'varchar(32)'
3175: ],
3176: [
3177: 'name' => 'description',
3178: 'type' => 'varchar(255)'
3179: ]
3180: ],
3181: 'primary' => [
3182: 'geo_zone_id'
3183: ],
3184: 'engine' => 'InnoDB',
3185: 'charset' => 'utf8mb4',
3186: 'collate' => 'utf8mb4_general_ci'
3187: ];
3188:
3189: $tables[] = [
3190: 'name' => 'information',
3191: 'field' => [
3192: [
3193: 'name' => 'information_id',
3194: 'type' => 'int(11)',
3195: 'auto_increment' => true
3196: ],
3197: [
3198: 'name' => 'sort_order',
3199: 'type' => 'int(3)',
3200: 'default' => '0'
3201: ],
3202: [
3203: 'name' => 'status',
3204: 'type' => 'tinyint(1)',
3205: 'default' => '1'
3206: ]
3207: ],
3208: 'primary' => [
3209: 'information_id'
3210: ],
3211: 'engine' => 'InnoDB',
3212: 'charset' => 'utf8mb4',
3213: 'collate' => 'utf8mb4_general_ci'
3214: ];
3215:
3216: $tables[] = [
3217: 'name' => 'information_description',
3218: 'field' => [
3219: [
3220: 'name' => 'information_id',
3221: 'type' => 'int(11)'
3222: ],
3223: [
3224: 'name' => 'language_id',
3225: 'type' => 'int(11)'
3226: ],
3227: [
3228: 'name' => 'title',
3229: 'type' => 'varchar(64)'
3230: ],
3231: [
3232: 'name' => 'description',
3233: 'type' => 'mediumtext'
3234: ],
3235: [
3236: 'name' => 'meta_title',
3237: 'type' => 'varchar(255)'
3238: ],
3239: [
3240: 'name' => 'meta_description',
3241: 'type' => 'varchar(255)'
3242: ],
3243: [
3244: 'name' => 'meta_keyword',
3245: 'type' => 'varchar(255)'
3246: ]
3247: ],
3248: 'primary' => [
3249: 'information_id',
3250: 'language_id'
3251: ],
3252: 'foreign' => [
3253: [
3254: 'key' => 'language_id',
3255: 'table' => 'language',
3256: 'field' => 'language_id'
3257: ]
3258: ],
3259: 'engine' => 'InnoDB',
3260: 'charset' => 'utf8mb4',
3261: 'collate' => 'utf8mb4_general_ci'
3262: ];
3263:
3264: $tables[] = [
3265: 'name' => 'information_to_layout',
3266: 'field' => [
3267: [
3268: 'name' => 'information_id',
3269: 'type' => 'int(11)'
3270: ],
3271: [
3272: 'name' => 'store_id',
3273: 'type' => 'int(11)'
3274: ],
3275: [
3276: 'name' => 'layout_id',
3277: 'type' => 'int(11)'
3278: ]
3279: ],
3280: 'primary' => [
3281: 'information_id',
3282: 'store_id'
3283: ],
3284: 'foreign' => [
3285: [
3286: 'key' => 'information_id',
3287: 'table' => 'information',
3288: 'field' => 'information_id'
3289: ],
3290: [
3291: 'key' => 'store_id',
3292: 'table' => 'store',
3293: 'field' => 'store_id'
3294: ],
3295: [
3296: 'key' => 'layout_id',
3297: 'table' => 'layout',
3298: 'field' => 'layout_id'
3299: ]
3300: ],
3301: 'engine' => 'InnoDB',
3302: 'charset' => 'utf8mb4',
3303: 'collate' => 'utf8mb4_general_ci'
3304: ];
3305:
3306: $tables[] = [
3307: 'name' => 'information_to_store',
3308: 'field' => [
3309: [
3310: 'name' => 'information_id',
3311: 'type' => 'int(11)'
3312: ],
3313: [
3314: 'name' => 'store_id',
3315: 'type' => 'int(11)'
3316: ]
3317: ],
3318: 'primary' => [
3319: 'information_id',
3320: 'store_id'
3321: ],
3322: 'foreign' => [
3323: [
3324: 'key' => 'information_id',
3325: 'table' => 'information',
3326: 'field' => 'information_id'
3327: ],
3328: [
3329: 'key' => 'store_id',
3330: 'table' => 'store',
3331: 'field' => 'store_id'
3332: ]
3333: ],
3334: 'engine' => 'InnoDB',
3335: 'charset' => 'utf8mb4',
3336: 'collate' => 'utf8mb4_general_ci'
3337: ];
3338:
3339: $tables[] = [
3340: 'name' => 'language',
3341: 'field' => [
3342: [
3343: 'name' => 'language_id',
3344: 'type' => 'int(11)',
3345: 'auto_increment' => true
3346: ],
3347: [
3348: 'name' => 'name',
3349: 'type' => 'varchar(32)'
3350: ],
3351: [
3352: 'name' => 'code',
3353: 'type' => 'varchar(5)'
3354: ],
3355: [
3356: 'name' => 'locale',
3357: 'type' => 'varchar(255)'
3358: ],
3359: [
3360: 'name' => 'extension',
3361: 'type' => 'varchar(255)'
3362: ],
3363: [
3364: 'name' => 'sort_order',
3365: 'type' => 'int(3)',
3366: 'default' => '0'
3367: ],
3368: [
3369: 'name' => 'status',
3370: 'type' => 'tinyint(1)'
3371: ]
3372: ],
3373: 'primary' => [
3374: 'language_id'
3375: ],
3376: 'index' => [
3377: [
3378: 'name' => 'name',
3379: 'key' => [
3380: 'name'
3381: ]
3382: ]
3383: ],
3384: 'engine' => 'InnoDB',
3385: 'charset' => 'utf8mb4',
3386: 'collate' => 'utf8mb4_general_ci'
3387: ];
3388:
3389: $tables[] = [
3390: 'name' => 'layout',
3391: 'field' => [
3392: [
3393: 'name' => 'layout_id',
3394: 'type' => 'int(11)',
3395: 'auto_increment' => true
3396: ],
3397: [
3398: 'name' => 'name',
3399: 'type' => 'varchar(64)'
3400: ]
3401: ],
3402: 'primary' => [
3403: 'layout_id'
3404: ],
3405: 'engine' => 'InnoDB',
3406: 'charset' => 'utf8mb4',
3407: 'collate' => 'utf8mb4_general_ci'
3408: ];
3409:
3410: $tables[] = [
3411: 'name' => 'layout_module',
3412: 'field' => [
3413: [
3414: 'name' => 'layout_module_id',
3415: 'type' => 'int(11)',
3416: 'auto_increment' => true
3417: ],
3418: [
3419: 'name' => 'layout_id',
3420: 'type' => 'int(11)'
3421: ],
3422: [
3423: 'name' => 'code',
3424: 'type' => 'varchar(64)'
3425: ],
3426: [
3427: 'name' => 'position',
3428: 'type' => 'varchar(14)'
3429: ],
3430: [
3431: 'name' => 'sort_order',
3432: 'type' => 'int(3)'
3433: ]
3434: ],
3435: 'primary' => [
3436: 'layout_module_id'
3437: ],
3438: 'foreign' => [
3439: [
3440: 'key' => 'layout_id',
3441: 'table' => 'layout',
3442: 'field' => 'layout_id'
3443: ]
3444: ],
3445: 'engine' => 'InnoDB',
3446: 'charset' => 'utf8mb4',
3447: 'collate' => 'utf8mb4_general_ci'
3448: ];
3449:
3450: $tables[] = [
3451: 'name' => 'layout_route',
3452: 'field' => [
3453: [
3454: 'name' => 'layout_route_id',
3455: 'type' => 'int(11)',
3456: 'auto_increment' => true
3457: ],
3458: [
3459: 'name' => 'layout_id',
3460: 'type' => 'int(11)'
3461: ],
3462: [
3463: 'name' => 'store_id',
3464: 'type' => 'int(11)'
3465: ],
3466: [
3467: 'name' => 'route',
3468: 'type' => 'varchar(64)'
3469: ]
3470: ],
3471: 'primary' => [
3472: 'layout_route_id'
3473: ],
3474: 'foreign' => [
3475: [
3476: 'key' => 'layout_id',
3477: 'table' => 'layout',
3478: 'field' => 'layout_id'
3479: ],
3480: [
3481: 'key' => 'store_id',
3482: 'table' => 'store',
3483: 'field' => 'store_id'
3484: ]
3485: ],
3486: 'engine' => 'InnoDB',
3487: 'charset' => 'utf8mb4',
3488: 'collate' => 'utf8mb4_general_ci'
3489: ];
3490:
3491: $tables[] = [
3492: 'name' => 'length_class',
3493: 'field' => [
3494: [
3495: 'name' => 'length_class_id',
3496: 'type' => 'int(11)',
3497: 'auto_increment' => true
3498: ],
3499: [
3500: 'name' => 'value',
3501: 'type' => 'decimal(15,8)'
3502: ]
3503: ],
3504: 'primary' => [
3505: 'length_class_id'
3506: ],
3507: 'engine' => 'InnoDB',
3508: 'charset' => 'utf8mb4',
3509: 'collate' => 'utf8mb4_general_ci'
3510: ];
3511:
3512: $tables[] = [
3513: 'name' => 'length_class_description',
3514: 'field' => [
3515: [
3516: 'name' => 'length_class_id',
3517: 'type' => 'int(11)'
3518: ],
3519: [
3520: 'name' => 'language_id',
3521: 'type' => 'int(11)'
3522: ],
3523: [
3524: 'name' => 'title',
3525: 'type' => 'varchar(32)'
3526: ],
3527: [
3528: 'name' => 'unit',
3529: 'type' => 'varchar(4)'
3530: ]
3531: ],
3532: 'primary' => [
3533: 'length_class_id',
3534: 'language_id'
3535: ],
3536: 'foreign' => [
3537: [
3538: 'key' => 'length_class_id',
3539: 'table' => 'length_class',
3540: 'field' => 'length_class_id'
3541: ],
3542: [
3543: 'key' => 'language_id',
3544: 'table' => 'language',
3545: 'field' => 'language_id'
3546: ]
3547: ],
3548: 'engine' => 'InnoDB',
3549: 'charset' => 'utf8mb4',
3550: 'collate' => 'utf8mb4_general_ci'
3551: ];
3552:
3553: $tables[] = [
3554: 'name' => 'location',
3555: 'field' => [
3556: [
3557: 'name' => 'location_id',
3558: 'type' => 'int(11)',
3559: 'auto_increment' => true
3560: ],
3561: [
3562: 'name' => 'name',
3563: 'type' => 'varchar(32)'
3564: ],
3565: [
3566: 'name' => 'address',
3567: 'type' => 'text'
3568: ],
3569: [
3570: 'name' => 'telephone',
3571: 'type' => 'varchar(32)'
3572: ],
3573: [
3574: 'name' => 'geocode',
3575: 'type' => 'varchar(32)'
3576: ],
3577: [
3578: 'name' => 'image',
3579: 'type' => 'varchar(255)'
3580: ],
3581: [
3582: 'name' => 'open',
3583: 'type' => 'text'
3584: ],
3585: [
3586: 'name' => 'comment',
3587: 'type' => 'text'
3588: ]
3589: ],
3590: 'primary' => [
3591: 'location_id'
3592: ],
3593: 'index' => [
3594: [
3595: 'name' => 'name',
3596: 'key' => [
3597: 'name'
3598: ]
3599: ]
3600: ],
3601: 'engine' => 'InnoDB',
3602: 'charset' => 'utf8mb4',
3603: 'collate' => 'utf8mb4_general_ci'
3604: ];
3605:
3606: $tables[] = [
3607: 'name' => 'manufacturer',
3608: 'field' => [
3609: [
3610: 'name' => 'manufacturer_id',
3611: 'type' => 'int(11)',
3612: 'auto_increment' => true
3613: ],
3614: [
3615: 'name' => 'name',
3616: 'type' => 'varchar(64)'
3617: ],
3618: [
3619: 'name' => 'image',
3620: 'type' => 'varchar(255)'
3621: ],
3622: [
3623: 'name' => 'sort_order',
3624: 'type' => 'int(3)'
3625: ]
3626: ],
3627: 'primary' => [
3628: 'manufacturer_id'
3629: ],
3630: 'engine' => 'InnoDB',
3631: 'charset' => 'utf8mb4',
3632: 'collate' => 'utf8mb4_general_ci'
3633: ];
3634:
3635: $tables[] = [
3636: 'name' => 'manufacturer_to_layout',
3637: 'field' => [
3638: [
3639: 'name' => 'manufacturer_id',
3640: 'type' => 'int(11)'
3641: ],
3642: [
3643: 'name' => 'store_id',
3644: 'type' => 'int(11)'
3645: ],
3646: [
3647: 'name' => 'layout_id',
3648: 'type' => 'int(11)'
3649: ]
3650: ],
3651: 'primary' => [
3652: 'manufacturer_id',
3653: 'store_id'
3654: ],
3655: 'foreign' => [
3656: [
3657: 'key' => 'manufacturer_id',
3658: 'table' => 'manufacturer',
3659: 'field' => 'manufacturer_id'
3660: ],
3661: [
3662: 'key' => 'store_id',
3663: 'table' => 'store',
3664: 'field' => 'store_id'
3665: ],
3666: [
3667: 'key' => 'layout_id',
3668: 'table' => 'layout',
3669: 'field' => 'layout_id'
3670: ]
3671: ],
3672: 'engine' => 'InnoDB',
3673: 'charset' => 'utf8mb4',
3674: 'collate' => 'utf8mb4_general_ci'
3675: ];
3676:
3677: $tables[] = [
3678: 'name' => 'manufacturer_to_store',
3679: 'field' => [
3680: [
3681: 'name' => 'manufacturer_id',
3682: 'type' => 'int(11)'
3683: ],
3684: [
3685: 'name' => 'store_id',
3686: 'type' => 'int(11)'
3687: ]
3688: ],
3689: 'primary' => [
3690: 'manufacturer_id',
3691: 'store_id'
3692: ],
3693: 'foreign' => [
3694: [
3695: 'key' => 'manufacturer_id',
3696: 'table' => 'manufacturer',
3697: 'field' => 'manufacturer_id'
3698: ],
3699: [
3700: 'key' => 'store_id',
3701: 'table' => 'store',
3702: 'field' => 'store_id'
3703: ]
3704: ],
3705: 'engine' => 'InnoDB',
3706: 'charset' => 'utf8mb4',
3707: 'collate' => 'utf8mb4_general_ci'
3708: ];
3709:
3710: $tables[] = [
3711: 'name' => 'marketing',
3712: 'field' => [
3713: [
3714: 'name' => 'marketing_id',
3715: 'type' => 'int(11)',
3716: 'auto_increment' => true
3717: ],
3718: [
3719: 'name' => 'name',
3720: 'type' => 'varchar(32)'
3721: ],
3722: [
3723: 'name' => 'description',
3724: 'type' => 'text'
3725: ],
3726: [
3727: 'name' => 'code',
3728: 'type' => 'varchar(64)'
3729: ],
3730: [
3731: 'name' => 'clicks',
3732: 'type' => 'int(5)',
3733: 'default' => '0'
3734: ],
3735: [
3736: 'name' => 'date_added',
3737: 'type' => 'datetime'
3738: ]
3739: ],
3740: 'primary' => [
3741: 'marketing_id'
3742: ],
3743: 'engine' => 'InnoDB',
3744: 'charset' => 'utf8mb4',
3745: 'collate' => 'utf8mb4_general_ci'
3746: ];
3747:
3748: $tables[] = [
3749: 'name' => 'marketing_report',
3750: 'field' => [
3751: [
3752: 'name' => 'marketing_report_id',
3753: 'type' => 'int(11)',
3754: 'auto_increment' => true
3755: ],
3756: [
3757: 'name' => 'marketing_id',
3758: 'type' => 'int(11)'
3759: ],
3760: [
3761: 'name' => 'store_id',
3762: 'type' => 'int(11)'
3763: ],
3764: [
3765: 'name' => 'ip',
3766: 'type' => 'varchar(40)'
3767: ],
3768: [
3769: 'name' => 'country',
3770: 'type' => 'varchar(2)'
3771: ],
3772: [
3773: 'name' => 'date_added',
3774: 'type' => 'datetime'
3775: ]
3776: ],
3777: 'primary' => [
3778: 'marketing_report_id'
3779: ],
3780: 'foreign' => [
3781: [
3782: 'key' => 'marketing_id',
3783: 'table' => 'marketing',
3784: 'field' => 'marketing_id'
3785: ],
3786: [
3787: 'key' => 'store_id',
3788: 'table' => 'store',
3789: 'field' => 'store_id'
3790: ]
3791: ],
3792: 'engine' => 'InnoDB',
3793: 'charset' => 'utf8mb4',
3794: 'collate' => 'utf8mb4_general_ci'
3795: ];
3796:
3797: $tables[] = [
3798: 'name' => 'modification',
3799: 'field' => [
3800: [
3801: 'name' => 'modification_id',
3802: 'type' => 'int(11)',
3803: 'auto_increment' => true
3804: ],
3805: [
3806: 'name' => 'extension_install_id',
3807: 'type' => 'int(11)',
3808: 'not_null' => true
3809: ],
3810: [
3811: 'name' => 'name',
3812: 'type' => 'varchar(64)'
3813: ],
3814: [
3815: 'name' => 'description',
3816: 'type' => 'text'
3817: ],
3818: [
3819: 'name' => 'code',
3820: 'type' => 'varchar(64)'
3821: ],
3822: [
3823: 'name' => 'author',
3824: 'type' => 'varchar(64)'
3825: ],
3826: [
3827: 'name' => 'version',
3828: 'type' => 'varchar(32)'
3829: ],
3830: [
3831: 'name' => 'link',
3832: 'type' => 'varchar(255)'
3833: ],
3834: [
3835: 'name' => 'xml',
3836: 'type' => 'mediumtext'
3837: ],
3838: [
3839: 'name' => 'status',
3840: 'type' => 'tinyint(1)'
3841: ],
3842: [
3843: 'name' => 'date_added',
3844: 'type' => 'datetime'
3845: ]
3846: ],
3847: 'primary' => [
3848: 'modification_id'
3849: ],
3850: 'engine' => 'InnoDB',
3851: 'charset' => 'utf8mb4',
3852: 'collate' => 'utf8mb4_general_ci'
3853: ];
3854:
3855: $tables[] = [
3856: 'name' => 'module',
3857: 'field' => [
3858: [
3859: 'name' => 'module_id',
3860: 'type' => 'int(11)',
3861: 'auto_increment' => true
3862: ],
3863: [
3864: 'name' => 'name',
3865: 'type' => 'varchar(64)'
3866: ],
3867: [
3868: 'name' => 'code',
3869: 'type' => 'varchar(64)'
3870: ],
3871: [
3872: 'name' => 'setting',
3873: 'type' => 'text'
3874: ]
3875: ],
3876: 'primary' => [
3877: 'module_id'
3878: ],
3879: 'engine' => 'InnoDB',
3880: 'charset' => 'utf8mb4',
3881: 'collate' => 'utf8mb4_general_ci'
3882: ];
3883:
3884: $tables[] = [
3885: 'name' => 'notification',
3886: 'field' => [
3887: [
3888: 'name' => 'notification_id',
3889: 'type' => 'int(11)',
3890: 'auto_increment' => true
3891: ],
3892: [
3893: 'name' => 'title',
3894: 'type' => 'varchar(64)'
3895: ],
3896: [
3897: 'name' => 'text',
3898: 'type' => 'text'
3899: ],
3900: [
3901: 'name' => 'status',
3902: 'type' => 'tinyint(11)'
3903: ],
3904: [
3905: 'name' => 'date_added',
3906: 'type' => 'datetime'
3907: ]
3908: ],
3909: 'primary' => [
3910: 'notification_id'
3911: ],
3912: 'engine' => 'InnoDB',
3913: 'charset' => 'utf8mb4',
3914: 'collate' => 'utf8mb4_general_ci'
3915: ];
3916:
3917: $tables[] = [
3918: 'name' => 'option',
3919: 'field' => [
3920: [
3921: 'name' => 'option_id',
3922: 'type' => 'int(11)',
3923: 'auto_increment' => true
3924: ],
3925: [
3926: 'name' => 'type',
3927: 'type' => 'varchar(32)'
3928: ],
3929: [
3930: 'name' => 'sort_order',
3931: 'type' => 'int(3)'
3932: ]
3933: ],
3934: 'primary' => [
3935: 'option_id'
3936: ],
3937: 'engine' => 'InnoDB',
3938: 'charset' => 'utf8mb4',
3939: 'collate' => 'utf8mb4_general_ci'
3940: ];
3941:
3942: $tables[] = [
3943: 'name' => 'option_description',
3944: 'field' => [
3945: [
3946: 'name' => 'option_id',
3947: 'type' => 'int(11)'
3948: ],
3949: [
3950: 'name' => 'language_id',
3951: 'type' => 'int(11)'
3952: ],
3953: [
3954: 'name' => 'name',
3955: 'type' => 'varchar(128)'
3956: ]
3957: ],
3958: 'primary' => [
3959: 'option_id',
3960: 'language_id'
3961: ],
3962: 'foreign' => [
3963: [
3964: 'key' => 'language_id',
3965: 'table' => 'language',
3966: 'field' => 'language_id'
3967: ]
3968: ],
3969: 'engine' => 'InnoDB',
3970: 'charset' => 'utf8mb4',
3971: 'collate' => 'utf8mb4_general_ci'
3972: ];
3973:
3974: $tables[] = [
3975: 'name' => 'option_value',
3976: 'field' => [
3977: [
3978: 'name' => 'option_value_id',
3979: 'type' => 'int(11)',
3980: 'auto_increment' => true
3981: ],
3982: [
3983: 'name' => 'option_id',
3984: 'type' => 'int(11)'
3985: ],
3986: [
3987: 'name' => 'image',
3988: 'type' => 'varchar(255)'
3989: ],
3990: [
3991: 'name' => 'sort_order',
3992: 'type' => 'int(3)'
3993: ]
3994: ],
3995: 'primary' => [
3996: 'option_value_id'
3997: ],
3998: 'foreign' => [
3999: [
4000: 'key' => 'option_id',
4001: 'table' => 'option',
4002: 'field' => 'option_id'
4003: ]
4004: ],
4005: 'engine' => 'InnoDB',
4006: 'charset' => 'utf8mb4',
4007: 'collate' => 'utf8mb4_general_ci'
4008: ];
4009:
4010: $tables[] = [
4011: 'name' => 'option_value_description',
4012: 'field' => [
4013: [
4014: 'name' => 'option_value_id',
4015: 'type' => 'int(11)'
4016: ],
4017: [
4018: 'name' => 'language_id',
4019: 'type' => 'int(11)'
4020: ],
4021: [
4022: 'name' => 'option_id',
4023: 'type' => 'int(11)'
4024: ],
4025: [
4026: 'name' => 'name',
4027: 'type' => 'varchar(128)'
4028: ]
4029: ],
4030: 'primary' => [
4031: 'option_value_id',
4032: 'language_id'
4033: ],
4034: 'foreign' => [
4035: [
4036: 'key' => 'language_id',
4037: 'table' => 'language',
4038: 'field' => 'language_id'
4039: ],
4040: [
4041: 'key' => 'option_id',
4042: 'table' => 'option',
4043: 'field' => 'option_id'
4044: ]
4045: ],
4046: 'engine' => 'InnoDB',
4047: 'charset' => 'utf8mb4',
4048: 'collate' => 'utf8mb4_general_ci'
4049: ];
4050:
4051: $tables[] = [
4052: 'name' => 'order',
4053: 'field' => [
4054: [
4055: 'name' => 'order_id',
4056: 'type' => 'int(11)',
4057: 'auto_increment' => true
4058: ],
4059: [
4060: 'name' => 'subscription_id',
4061: 'type' => 'int(11)'
4062: ],
4063: [
4064: 'name' => 'invoice_no',
4065: 'type' => 'int(11)',
4066: 'default' => '0'
4067: ],
4068: [
4069: 'name' => 'invoice_prefix',
4070: 'type' => 'varchar(26)'
4071: ],
4072: [
4073: 'name' => 'transaction_id',
4074: 'type' => 'varchar(100)'
4075: ],
4076: [
4077: 'name' => 'store_id',
4078: 'type' => 'int(11)',
4079: 'default' => '0'
4080: ],
4081: [
4082: 'name' => 'store_name',
4083: 'type' => 'varchar(64)'
4084: ],
4085: [
4086: 'name' => 'store_url',
4087: 'type' => 'varchar(255)'
4088: ],
4089: [
4090: 'name' => 'customer_id',
4091: 'type' => 'int(11)',
4092: 'default' => '0'
4093: ],
4094: [
4095: 'name' => 'customer_group_id',
4096: 'type' => 'int(11)',
4097: 'default' => '0'
4098: ],
4099: [
4100: 'name' => 'firstname',
4101: 'type' => 'varchar(32)'
4102: ],
4103: [
4104: 'name' => 'lastname',
4105: 'type' => 'varchar(32)'
4106: ],
4107: [
4108: 'name' => 'email',
4109: 'type' => 'varchar(96)'
4110: ],
4111: [
4112: 'name' => 'telephone',
4113: 'type' => 'varchar(32)'
4114: ],
4115: [
4116: 'name' => 'custom_field',
4117: 'type' => 'text'
4118: ],
4119: [
4120: 'name' => 'payment_address_id',
4121: 'type' => 'int(11)'
4122: ],
4123: [
4124: 'name' => 'payment_firstname',
4125: 'type' => 'varchar(32)'
4126: ],
4127: [
4128: 'name' => 'payment_lastname',
4129: 'type' => 'varchar(32)'
4130: ],
4131: [
4132: 'name' => 'payment_company',
4133: 'type' => 'varchar(60)'
4134: ],
4135: [
4136: 'name' => 'payment_address_1',
4137: 'type' => 'varchar(128)'
4138: ],
4139: [
4140: 'name' => 'payment_address_2',
4141: 'type' => 'varchar(128)'
4142: ],
4143: [
4144: 'name' => 'payment_city',
4145: 'type' => 'varchar(128)'
4146: ],
4147: [
4148: 'name' => 'payment_postcode',
4149: 'type' => 'varchar(10)'
4150: ],
4151: [
4152: 'name' => 'payment_country',
4153: 'type' => 'varchar(128)'
4154: ],
4155: [
4156: 'name' => 'payment_country_id',
4157: 'type' => 'int(11)'
4158: ],
4159: [
4160: 'name' => 'payment_zone',
4161: 'type' => 'varchar(128)'
4162: ],
4163: [
4164: 'name' => 'payment_zone_id',
4165: 'type' => 'int(11)'
4166: ],
4167: [
4168: 'name' => 'payment_address_format',
4169: 'type' => 'text'
4170: ],
4171: [
4172: 'name' => 'payment_custom_field',
4173: 'type' => 'text'
4174: ],
4175: [
4176: 'name' => 'payment_method',
4177: 'type' => 'text'
4178: ],
4179: [
4180: 'name' => 'shipping_address_id',
4181: 'type' => 'int(11)'
4182: ],
4183: [
4184: 'name' => 'shipping_firstname',
4185: 'type' => 'varchar(32)'
4186: ],
4187: [
4188: 'name' => 'shipping_lastname',
4189: 'type' => 'varchar(32)'
4190: ],
4191: [
4192: 'name' => 'shipping_company',
4193: 'type' => 'varchar(60)'
4194: ],
4195: [
4196: 'name' => 'shipping_address_1',
4197: 'type' => 'varchar(128)'
4198: ],
4199: [
4200: 'name' => 'shipping_address_2',
4201: 'type' => 'varchar(128)'
4202: ],
4203: [
4204: 'name' => 'shipping_city',
4205: 'type' => 'varchar(128)'
4206: ],
4207: [
4208: 'name' => 'shipping_postcode',
4209: 'type' => 'varchar(10)'
4210: ],
4211: [
4212: 'name' => 'shipping_country',
4213: 'type' => 'varchar(128)'
4214: ],
4215: [
4216: 'name' => 'shipping_country_id',
4217: 'type' => 'int(11)'
4218: ],
4219: [
4220: 'name' => 'shipping_zone',
4221: 'type' => 'varchar(128)'
4222: ],
4223: [
4224: 'name' => 'shipping_zone_id',
4225: 'type' => 'int(11)'
4226: ],
4227: [
4228: 'name' => 'shipping_address_format',
4229: 'type' => 'text'
4230: ],
4231: [
4232: 'name' => 'shipping_custom_field',
4233: 'type' => 'text'
4234: ],
4235: [
4236: 'name' => 'shipping_method',
4237: 'type' => 'text'
4238: ],
4239: [
4240: 'name' => 'comment',
4241: 'type' => 'text'
4242: ],
4243: [
4244: 'name' => 'total',
4245: 'type' => 'decimal(15,4)',
4246: 'default' => '0.0000'
4247: ],
4248: [
4249: 'name' => 'order_status_id',
4250: 'type' => 'int(11)',
4251: 'default' => '0'
4252: ],
4253: [
4254: 'name' => 'affiliate_id',
4255: 'type' => 'int(11)'
4256: ],
4257: [
4258: 'name' => 'commission',
4259: 'type' => 'decimal(15,4)'
4260: ],
4261: [
4262: 'name' => 'marketing_id',
4263: 'type' => 'int(11)'
4264: ],
4265: [
4266: 'name' => 'tracking',
4267: 'type' => 'varchar(64)'
4268: ],
4269: [
4270: 'name' => 'language_id',
4271: 'type' => 'int(11)'
4272: ],
4273: [
4274: 'name' => 'language_code',
4275: 'type' => 'varchar(5)'
4276: ],
4277: [
4278: 'name' => 'currency_id',
4279: 'type' => 'int(11)'
4280: ],
4281: [
4282: 'name' => 'currency_code',
4283: 'type' => 'varchar(3)'
4284: ],
4285: [
4286: 'name' => 'currency_value',
4287: 'type' => 'decimal(15,8)',
4288: 'default' => '1.00000000'
4289: ],
4290: [
4291: 'name' => 'ip',
4292: 'type' => 'varchar(40)'
4293: ],
4294: [
4295: 'name' => 'forwarded_ip',
4296: 'type' => 'varchar(40)'
4297: ],
4298: [
4299: 'name' => 'user_agent',
4300: 'type' => 'varchar(255)'
4301: ],
4302: [
4303: 'name' => 'accept_language',
4304: 'type' => 'varchar(255)'
4305: ],
4306: [
4307: 'name' => 'date_added',
4308: 'type' => 'datetime'
4309: ],
4310: [
4311: 'name' => 'date_modified',
4312: 'type' => 'datetime'
4313: ]
4314: ],
4315: 'primary' => [
4316: 'order_id'
4317: ],
4318: 'foreign' => [
4319: [
4320: 'key' => 'store_id',
4321: 'table' => 'store',
4322: 'field' => 'store_id'
4323: ],
4324: [
4325: 'key' => 'customer_id',
4326: 'table' => 'customer',
4327: 'field' => 'customer_id'
4328: ],
4329: [
4330: 'key' => 'customer_group_id',
4331: 'table' => 'customer_group',
4332: 'field' => 'customer_group_id'
4333: ],
4334: [
4335: 'key' => 'payment_country_id',
4336: 'table' => 'country',
4337: 'field' => 'country_id'
4338: ],
4339: [
4340: 'key' => 'payment_zone_id',
4341: 'table' => 'zone',
4342: 'field' => 'zone_id'
4343: ],
4344: [
4345: 'key' => 'shipping_country_id',
4346: 'table' => 'country',
4347: 'field' => 'country_id'
4348: ],
4349: [
4350: 'key' => 'shipping_zone_id',
4351: 'table' => 'zone',
4352: 'field' => 'zone_id'
4353: ],
4354: [
4355: 'key' => 'order_status_id',
4356: 'table' => 'order_status',
4357: 'field' => 'order_status_id'
4358: ],
4359: [
4360: 'key' => 'affiliate_id',
4361: 'table' => 'customer_affiliate',
4362: 'field' => 'customer_id'
4363: ],
4364: [
4365: 'key' => 'marketing_id',
4366: 'table' => 'marketing',
4367: 'field' => 'marketing_id'
4368: ],
4369: [
4370: 'key' => 'language_id',
4371: 'table' => 'language',
4372: 'field' => 'language_id'
4373: ],
4374: [
4375: 'key' => 'currency_id',
4376: 'table' => 'currency',
4377: 'field' => 'currency_id'
4378: ]
4379: ],
4380: 'index' => [
4381: [
4382: 'name' => 'email',
4383: 'key' => [
4384: 'email'
4385: ]
4386: ]
4387: ],
4388: 'engine' => 'InnoDB',
4389: 'charset' => 'utf8mb4',
4390: 'collate' => 'utf8mb4_general_ci'
4391: ];
4392:
4393: $tables[] = [
4394: 'name' => 'order_history',
4395: 'field' => [
4396: [
4397: 'name' => 'order_history_id',
4398: 'type' => 'int(11)',
4399: 'auto_increment' => true
4400: ],
4401: [
4402: 'name' => 'order_id',
4403: 'type' => 'int(11)'
4404: ],
4405: [
4406: 'name' => 'order_status_id',
4407: 'type' => 'int(11)'
4408: ],
4409: [
4410: 'name' => 'notify',
4411: 'type' => 'tinyint(1)',
4412: 'default' => '0'
4413: ],
4414: [
4415: 'name' => 'comment',
4416: 'type' => 'text'
4417: ],
4418: [
4419: 'name' => 'date_added',
4420: 'type' => 'datetime'
4421: ]
4422: ],
4423: 'primary' => [
4424: 'order_history_id'
4425: ],
4426: 'foreign' => [
4427: [
4428: 'key' => 'order_id',
4429: 'table' => 'order',
4430: 'field' => 'order_id'
4431: ],
4432: [
4433: 'key' => 'order_status_id',
4434: 'table' => 'order_status',
4435: 'field' => 'order_status_id'
4436: ]
4437: ],
4438: 'engine' => 'InnoDB',
4439: 'charset' => 'utf8mb4',
4440: 'collate' => 'utf8mb4_general_ci'
4441: ];
4442:
4443: $tables[] = [
4444: 'name' => 'order_option',
4445: 'field' => [
4446: [
4447: 'name' => 'order_option_id',
4448: 'type' => 'int(11)',
4449: 'auto_increment' => true
4450: ],
4451: [
4452: 'name' => 'order_id',
4453: 'type' => 'int(11)'
4454: ],
4455: [
4456: 'name' => 'order_product_id',
4457: 'type' => 'int(11)'
4458: ],
4459: [
4460: 'name' => 'product_option_id',
4461: 'type' => 'int(11)'
4462: ],
4463: [
4464: 'name' => 'product_option_value_id',
4465: 'type' => 'int(11)',
4466: 'default' => '0'
4467: ],
4468: [
4469: 'name' => 'name',
4470: 'type' => 'varchar(255)'
4471: ],
4472: [
4473: 'name' => 'value',
4474: 'type' => 'text'
4475: ],
4476: [
4477: 'name' => 'type',
4478: 'type' => 'varchar(32)'
4479: ]
4480: ],
4481: 'primary' => [
4482: 'order_option_id'
4483: ],
4484: 'foreign' => [
4485: [
4486: 'key' => 'order_id',
4487: 'table' => 'order',
4488: 'field' => 'order_id'
4489: ],
4490: [
4491: 'key' => 'order_product_id',
4492: 'table' => 'order_product',
4493: 'field' => 'order_product_id'
4494: ],
4495: [
4496: 'key' => 'product_option_id',
4497: 'table' => 'product_option',
4498: 'field' => 'product_option_id'
4499: ],
4500: [
4501: 'key' => 'product_option_value_id',
4502: 'table' => 'product_option_value',
4503: 'field' => 'product_option_value_id'
4504: ]
4505: ],
4506: 'engine' => 'InnoDB',
4507: 'charset' => 'utf8mb4',
4508: 'collate' => 'utf8mb4_general_ci'
4509: ];
4510:
4511: $tables[] = [
4512: 'name' => 'order_product',
4513: 'field' => [
4514: [
4515: 'name' => 'order_product_id',
4516: 'type' => 'int(11)',
4517: 'auto_increment' => true
4518: ],
4519: [
4520: 'name' => 'order_id',
4521: 'type' => 'int(11)'
4522: ],
4523: [
4524: 'name' => 'product_id',
4525: 'type' => 'int(11)'
4526: ],
4527: [
4528: 'name' => 'master_id',
4529: 'type' => 'int(11)'
4530: ],
4531: [
4532: 'name' => 'name',
4533: 'type' => 'varchar(255)'
4534: ],
4535: [
4536: 'name' => 'model',
4537: 'type' => 'varchar(64)'
4538: ],
4539: [
4540: 'name' => 'quantity',
4541: 'type' => 'int(4)'
4542: ],
4543: [
4544: 'name' => 'price',
4545: 'type' => 'decimal(15,4)',
4546: 'default' => '0.0000'
4547: ],
4548: [
4549: 'name' => 'total',
4550: 'type' => 'decimal(15,4)',
4551: 'default' => '0.0000'
4552: ],
4553: [
4554: 'name' => 'tax',
4555: 'type' => 'decimal(15,4)',
4556: 'default' => '0.0000'
4557: ],
4558: [
4559: 'name' => 'reward',
4560: 'type' => 'int(8)'
4561: ]
4562: ],
4563: 'primary' => [
4564: 'order_product_id'
4565: ],
4566: 'foreign' => [
4567: [
4568: 'key' => 'order_id',
4569: 'table' => 'order',
4570: 'field' => 'order_id'
4571: ],
4572: [
4573: 'key' => 'product_id',
4574: 'table' => 'product',
4575: 'field' => 'product_id'
4576: ],
4577: [
4578: 'key' => 'master_id',
4579: 'table' => 'product',
4580: 'field' => 'product_id'
4581: ]
4582: ],
4583: 'index' => [
4584: [
4585: 'name' => 'order_id',
4586: 'key' => [
4587: 'order_id'
4588: ]
4589: ]
4590: ],
4591: 'engine' => 'InnoDB',
4592: 'charset' => 'utf8mb4',
4593: 'collate' => 'utf8mb4_general_ci'
4594: ];
4595:
4596: $tables[] = [
4597: 'name' => 'order_subscription',
4598: 'field' => [
4599: [
4600: 'name' => 'order_subscription_id',
4601: 'type' => 'int(11)',
4602: 'auto_increment' => true
4603: ],
4604: [
4605: 'name' => 'order_product_id',
4606: 'type' => 'int(11)'
4607: ],
4608: [
4609: 'name' => 'order_id',
4610: 'type' => 'int(11)'
4611: ],
4612: [
4613: 'name' => 'product_id',
4614: 'type' => 'int(11)'
4615: ],
4616: [
4617: 'name' => 'subscription_plan_id',
4618: 'type' => 'int(11)'
4619: ],
4620: [
4621: 'name' => 'trial_price',
4622: 'type' => 'decimal(10,4)'
4623: ],
4624: [
4625: 'name' => 'trial_tax',
4626: 'type' => 'decimal(15,4)'
4627: ],
4628: [
4629: 'name' => 'trial_frequency',
4630: 'type' => 'enum(\'day\',\'week\',\'semi_month\',\'month\',\'year\')'
4631: ],
4632: [
4633: 'name' => 'trial_cycle',
4634: 'type' => 'smallint(6)'
4635: ],
4636: [
4637: 'name' => 'trial_duration',
4638: 'type' => 'smallint(6)'
4639: ],
4640: [
4641: 'name' => 'trial_remaining',
4642: 'type' => 'smallint(6)'
4643: ],
4644: [
4645: 'name' => 'trial_status',
4646: 'type' => 'tinyint(1)'
4647: ],
4648: [
4649: 'name' => 'price',
4650: 'type' => 'decimal(10,4)'
4651: ],
4652: [
4653: 'name' => 'tax',
4654: 'type' => 'decimal(15,4)'
4655: ],
4656: [
4657: 'name' => 'frequency',
4658: 'type' => 'enum(\'day\',\'week\',\'semi_month\',\'month\',\'year\')'
4659: ],
4660: [
4661: 'name' => 'cycle',
4662: 'type' => 'smallint(6)'
4663: ],
4664: [
4665: 'name' => 'duration',
4666: 'type' => 'smallint(6)'
4667: ]
4668: ],
4669: 'primary' => [
4670: 'order_subscription_id'
4671: ],
4672: 'foreign' => [
4673: [
4674: 'key' => 'order_id',
4675: 'table' => 'order',
4676: 'field' => 'order_id'
4677: ],
4678: [
4679: 'key' => 'order_product_id',
4680: 'table' => 'order_product',
4681: 'field' => 'order_product_id'
4682: ],
4683: [
4684: 'key' => 'subscription_plan_id',
4685: 'table' => 'subscription_plan',
4686: 'field' => 'subscription_plan_id'
4687: ],
4688: [
4689: 'key' => 'subscription_status_id',
4690: 'table' => 'subscription_status',
4691: 'field' => 'subscription_status_id'
4692: ]
4693: ],
4694: 'index' => [
4695: [
4696: 'name' => 'order_id',
4697: 'key' => [
4698: 'order_id'
4699: ]
4700: ]
4701: ],
4702: 'engine' => 'InnoDB',
4703: 'charset' => 'utf8mb4',
4704: 'collate' => 'utf8mb4_general_ci'
4705: ];
4706:
4707: $tables[] = [
4708: 'name' => 'order_status',
4709: 'field' => [
4710: [
4711: 'name' => 'order_status_id',
4712: 'type' => 'int(11)',
4713: 'auto_increment' => true
4714: ],
4715: [
4716: 'name' => 'language_id',
4717: 'type' => 'int(11)'
4718: ],
4719: [
4720: 'name' => 'name',
4721: 'type' => 'varchar(32)'
4722: ]
4723: ],
4724: 'primary' => [
4725: 'order_status_id',
4726: 'language_id'
4727: ],
4728: 'foreign' => [
4729: [
4730: 'key' => 'language_id',
4731: 'table' => 'language',
4732: 'field' => 'language_id'
4733: ]
4734: ],
4735: 'engine' => 'InnoDB',
4736: 'charset' => 'utf8mb4',
4737: 'collate' => 'utf8mb4_general_ci'
4738: ];
4739:
4740: $tables[] = [
4741: 'name' => 'order_total',
4742: 'field' => [
4743: [
4744: 'name' => 'order_total_id',
4745: 'type' => 'int(10)',
4746: 'auto_increment' => true
4747: ],
4748: [
4749: 'name' => 'order_id',
4750: 'type' => 'int(11)'
4751: ],
4752: [
4753: 'name' => 'extension',
4754: 'type' => 'varchar(255)'
4755: ],
4756: [
4757: 'name' => 'code',
4758: 'type' => 'varchar(32)'
4759: ],
4760: [
4761: 'name' => 'title',
4762: 'type' => 'varchar(255)'
4763: ],
4764: [
4765: 'name' => 'value',
4766: 'type' => 'decimal(15,4)',
4767: 'default' => '0.0000'
4768: ],
4769: [
4770: 'name' => 'sort_order',
4771: 'type' => 'int(3)'
4772: ]
4773: ],
4774: 'primary' => [
4775: 'order_total_id'
4776: ],
4777: 'foreign' => [
4778: [
4779: 'key' => 'order_id',
4780: 'table' => 'order',
4781: 'field' => 'order_id'
4782: ]
4783: ],
4784: 'index' => [
4785: [
4786: 'name' => 'order_id',
4787: 'key' => [
4788: 'order_id'
4789: ]
4790: ]
4791: ],
4792: 'engine' => 'InnoDB',
4793: 'charset' => 'utf8mb4',
4794: 'collate' => 'utf8mb4_general_ci'
4795: ];
4796:
4797: $tables[] = [
4798: 'name' => 'order_voucher',
4799: 'field' => [
4800: [
4801: 'name' => 'order_voucher_id',
4802: 'type' => 'int(11)',
4803: 'auto_increment' => true
4804: ],
4805: [
4806: 'name' => 'order_id',
4807: 'type' => 'int(11)'
4808: ],
4809: [
4810: 'name' => 'voucher_id',
4811: 'type' => 'int(11)'
4812: ],
4813: [
4814: 'name' => 'description',
4815: 'type' => 'varchar(255)'
4816: ],
4817: [
4818: 'name' => 'code',
4819: 'type' => 'varchar(10)'
4820: ],
4821: [
4822: 'name' => 'from_name',
4823: 'type' => 'varchar(64)'
4824: ],
4825: [
4826: 'name' => 'from_email',
4827: 'type' => 'varchar(96)'
4828: ],
4829: [
4830: 'name' => 'to_name',
4831: 'type' => 'varchar(64)'
4832: ],
4833: [
4834: 'name' => 'to_email',
4835: 'type' => 'varchar(96)'
4836: ],
4837: [
4838: 'name' => 'voucher_theme_id',
4839: 'type' => 'int(11)'
4840: ],
4841: [
4842: 'name' => 'message',
4843: 'type' => 'text'
4844: ],
4845: [
4846: 'name' => 'amount',
4847: 'type' => 'decimal(15,4)'
4848: ]
4849: ],
4850: 'primary' => [
4851: 'order_voucher_id'
4852: ],
4853: 'foreign' => [
4854: [
4855: 'key' => 'order_id',
4856: 'table' => 'order',
4857: 'field' => 'order_id'
4858: ],
4859: [
4860: 'key' => 'voucher_id',
4861: 'table' => 'voucher',
4862: 'field' => 'voucher_id'
4863: ]
4864: ],
4865: 'engine' => 'InnoDB',
4866: 'charset' => 'utf8mb4',
4867: 'collate' => 'utf8mb4_general_ci'
4868: ];
4869:
4870: $tables[] = [
4871: 'name' => 'product',
4872: 'field' => [
4873: [
4874: 'name' => 'product_id',
4875: 'type' => 'int(11)',
4876: 'auto_increment' => true
4877: ],
4878: [
4879: 'name' => 'master_id',
4880: 'type' => 'int(11)',
4881: 'default' => '0'
4882: ],
4883: [
4884: 'name' => 'model',
4885: 'type' => 'varchar(64)'
4886: ],
4887: [
4888: 'name' => 'sku',
4889: 'type' => 'varchar(64)'
4890: ],
4891: [
4892: 'name' => 'upc',
4893: 'type' => 'varchar(12)'
4894: ],
4895: [
4896: 'name' => 'ean',
4897: 'type' => 'varchar(14)'
4898: ],
4899: [
4900: 'name' => 'jan',
4901: 'type' => 'varchar(13)'
4902: ],
4903: [
4904: 'name' => 'isbn',
4905: 'type' => 'varchar(17)'
4906: ],
4907: [
4908: 'name' => 'mpn',
4909: 'type' => 'varchar(64)'
4910: ],
4911: [
4912: 'name' => 'location',
4913: 'type' => 'varchar(128)'
4914: ],
4915: [
4916: 'name' => 'variant',
4917: 'type' => 'text',
4918: 'default' => ''
4919: ],
4920: [
4921: 'name' => 'override',
4922: 'type' => 'text',
4923: 'default' => ''
4924: ],
4925: [
4926: 'name' => 'quantity',
4927: 'type' => 'int(4)',
4928: 'default' => '0'
4929: ],
4930: [
4931: 'name' => 'stock_status_id',
4932: 'type' => 'int(11)'
4933: ],
4934: [
4935: 'name' => 'image',
4936: 'type' => 'varchar(255)'
4937: ],
4938: [
4939: 'name' => 'manufacturer_id',
4940: 'type' => 'int(11)'
4941: ],
4942: [
4943: 'name' => 'shipping',
4944: 'type' => 'tinyint(1)',
4945: 'default' => '1'
4946: ],
4947: [
4948: 'name' => 'price',
4949: 'type' => 'decimal(15,4)',
4950: 'default' => '0.0000'
4951: ],
4952: [
4953: 'name' => 'points',
4954: 'type' => 'int(8)',
4955: 'default' => '0'
4956: ],
4957: [
4958: 'name' => 'tax_class_id',
4959: 'type' => 'int(11)'
4960: ],
4961: [
4962: 'name' => 'date_available',
4963: 'type' => 'date'
4964: ],
4965: [
4966: 'name' => 'weight',
4967: 'type' => 'decimal(15,8)',
4968: 'default' => '0.00000000'
4969: ],
4970: [
4971: 'name' => 'weight_class_id',
4972: 'type' => 'int(11)',
4973: 'default' => '0'
4974: ],
4975: [
4976: 'name' => 'length',
4977: 'type' => 'decimal(15,8)',
4978: 'default' => '0.00000000'
4979: ],
4980: [
4981: 'name' => 'width',
4982: 'type' => 'decimal(15,8)',
4983: 'default' => '0.00000000'
4984: ],
4985: [
4986: 'name' => 'height',
4987: 'type' => 'decimal(15,8)',
4988: 'default' => '0.00000000'
4989: ],
4990: [
4991: 'name' => 'length_class_id',
4992: 'type' => 'int(11)',
4993: 'default' => '0'
4994: ],
4995: [
4996: 'name' => 'subtract',
4997: 'type' => 'tinyint(1)',
4998: 'default' => '1'
4999: ],
5000: [
5001: 'name' => 'minimum',
5002: 'type' => 'int(11)',
5003: 'default' => '1'
5004: ],
5005: [
5006: 'name' => 'rating',
5007: 'type' => 'int(1)'
5008: ],
5009: [
5010: 'name' => 'sort_order',
5011: 'type' => 'int(11)',
5012: 'default' => '0'
5013: ],
5014: [
5015: 'name' => 'status',
5016: 'type' => 'tinyint(1)',
5017: 'default' => '0'
5018: ],
5019: [
5020: 'name' => 'date_added',
5021: 'type' => 'datetime'
5022: ],
5023: [
5024: 'name' => 'date_modified',
5025: 'type' => 'datetime'
5026: ]
5027: ],
5028: 'primary' => [
5029: 'product_id'
5030: ],
5031: 'foreign' => [
5032: [
5033: 'key' => 'master_id',
5034: 'table' => 'product',
5035: 'field' => 'product_id'
5036: ],
5037: [
5038: 'key' => 'stock_status_id',
5039: 'table' => 'stock_status',
5040: 'field' => 'stock_status_id'
5041: ],
5042: [
5043: 'key' => 'manufacturer_id',
5044: 'table' => 'manufacturer',
5045: 'field' => 'manufacturer_id'
5046: ],
5047: [
5048: 'key' => 'tax_class_id',
5049: 'table' => 'tax_class',
5050: 'field' => 'tax_class_id'
5051: ],
5052: [
5053: 'key' => 'weight_class_id',
5054: 'table' => 'weight_class',
5055: 'field' => 'weight_class_id'
5056: ],
5057: [
5058: 'key' => 'length_class_id',
5059: 'table' => 'length_class',
5060: 'field' => 'length_class_id'
5061: ]
5062: ],
5063: 'engine' => 'InnoDB',
5064: 'charset' => 'utf8mb4',
5065: 'collate' => 'utf8mb4_general_ci'
5066: ];
5067:
5068: $tables[] = [
5069: 'name' => 'product_attribute',
5070: 'field' => [
5071: [
5072: 'name' => 'product_id',
5073: 'type' => 'int(11)'
5074: ],
5075: [
5076: 'name' => 'attribute_id',
5077: 'type' => 'int(11)'
5078: ],
5079: [
5080: 'name' => 'language_id',
5081: 'type' => 'int(11)'
5082: ],
5083: [
5084: 'name' => 'text',
5085: 'type' => 'text'
5086: ]
5087: ],
5088: 'primary' => [
5089: 'product_id',
5090: 'attribute_id',
5091: 'language_id'
5092: ],
5093: 'foreign' => [
5094: [
5095: 'key' => 'product_id',
5096: 'table' => 'product',
5097: 'field' => 'product_id'
5098: ],
5099: [
5100: 'key' => 'attribute_id',
5101: 'table' => 'attribute',
5102: 'field' => 'attribute_id'
5103: ],
5104: [
5105: 'key' => 'language_id',
5106: 'table' => 'language',
5107: 'field' => 'language_id'
5108: ]
5109: ],
5110: 'engine' => 'InnoDB',
5111: 'charset' => 'utf8mb4',
5112: 'collate' => 'utf8mb4_general_ci'
5113: ];
5114:
5115: $tables[] = [
5116: 'name' => 'product_description',
5117: 'field' => [
5118: [
5119: 'name' => 'product_id',
5120: 'type' => 'int(11)'
5121: ],
5122: [
5123: 'name' => 'language_id',
5124: 'type' => 'int(11)'
5125: ],
5126: [
5127: 'name' => 'name',
5128: 'type' => 'varchar(255)'
5129: ],
5130: [
5131: 'name' => 'description',
5132: 'type' => 'text'
5133: ],
5134: [
5135: 'name' => 'tag',
5136: 'type' => 'text'
5137: ],
5138: [
5139: 'name' => 'meta_title',
5140: 'type' => 'varchar(255)'
5141: ],
5142: [
5143: 'name' => 'meta_description',
5144: 'type' => 'varchar(255)'
5145: ],
5146: [
5147: 'name' => 'meta_keyword',
5148: 'type' => 'varchar(255)'
5149: ]
5150: ],
5151: 'primary' => [
5152: 'product_id',
5153: 'language_id'
5154: ],
5155: 'foreign' => [
5156: [
5157: 'key' => 'product_id',
5158: 'table' => 'product',
5159: 'field' => 'product_id'
5160: ],
5161: [
5162: 'key' => 'language_id',
5163: 'table' => 'language',
5164: 'field' => 'language_id'
5165: ]
5166: ],
5167: 'index' => [
5168: [
5169: 'name' => 'name',
5170: 'key' => [
5171: 'name'
5172: ]
5173: ]
5174: ],
5175: 'engine' => 'InnoDB',
5176: 'charset' => 'utf8mb4',
5177: 'collate' => 'utf8mb4_general_ci'
5178: ];
5179:
5180: $tables[] = [
5181: 'name' => 'product_discount',
5182: 'field' => [
5183: [
5184: 'name' => 'product_discount_id',
5185: 'type' => 'int(11)',
5186: 'auto_increment' => true
5187: ],
5188: [
5189: 'name' => 'product_id',
5190: 'type' => 'int(11)'
5191: ],
5192: [
5193: 'name' => 'customer_group_id',
5194: 'type' => 'int(11)'
5195: ],
5196: [
5197: 'name' => 'quantity',
5198: 'type' => 'int(4)',
5199: 'default' => '0'
5200: ],
5201: [
5202: 'name' => 'priority',
5203: 'type' => 'int(5)',
5204: 'default' => '1'
5205: ],
5206: [
5207: 'name' => 'price',
5208: 'type' => 'decimal(15,4)',
5209: 'default' => '0.0000'
5210: ],
5211: [
5212: 'name' => 'date_start',
5213: 'type' => 'date'
5214: ],
5215: [
5216: 'name' => 'date_end',
5217: 'type' => 'date'
5218: ]
5219: ],
5220: 'primary' => [
5221: 'product_discount_id'
5222: ],
5223: 'foreign' => [
5224: [
5225: 'key' => 'product_id',
5226: 'table' => 'product',
5227: 'field' => 'product_id'
5228: ],
5229: [
5230: 'key' => 'customer_group_id',
5231: 'table' => 'customer_group',
5232: 'field' => 'customer_group_id'
5233: ]
5234: ],
5235: 'index' => [
5236: [
5237: 'name' => 'product_id',
5238: 'key' => [
5239: 'product_id'
5240: ]
5241: ]
5242: ],
5243: 'engine' => 'InnoDB',
5244: 'charset' => 'utf8mb4',
5245: 'collate' => 'utf8mb4_general_ci'
5246: ];
5247:
5248: $tables[] = [
5249: 'name' => 'product_filter',
5250: 'field' => [
5251: [
5252: 'name' => 'product_id',
5253: 'type' => 'int(11)'
5254: ],
5255: [
5256: 'name' => 'filter_id',
5257: 'type' => 'int(11)'
5258: ]
5259: ],
5260: 'primary' => [
5261: 'product_id',
5262: 'filter_id'
5263: ],
5264: 'foreign' => [
5265: [
5266: 'key' => 'product_id',
5267: 'table' => 'product',
5268: 'field' => 'product_id'
5269: ],
5270: [
5271: 'key' => 'filter_id',
5272: 'table' => 'filter',
5273: 'field' => 'filter_id'
5274: ]
5275: ],
5276: 'engine' => 'InnoDB',
5277: 'charset' => 'utf8mb4',
5278: 'collate' => 'utf8mb4_general_ci'
5279: ];
5280:
5281: $tables[] = [
5282: 'name' => 'product_image',
5283: 'field' => [
5284: [
5285: 'name' => 'product_image_id',
5286: 'type' => 'int(11)',
5287: 'auto_increment' => true
5288: ],
5289: [
5290: 'name' => 'product_id',
5291: 'type' => 'int(11)'
5292: ],
5293: [
5294: 'name' => 'image',
5295: 'type' => 'varchar(255)'
5296: ],
5297: [
5298: 'name' => 'sort_order',
5299: 'type' => 'int(3)',
5300: 'default' => '0'
5301: ]
5302: ],
5303: 'primary' => [
5304: 'product_image_id'
5305: ],
5306: 'foreign' => [
5307: [
5308: 'key' => 'product_id',
5309: 'table' => 'product',
5310: 'field' => 'product_id'
5311: ]
5312: ],
5313: 'index' => [
5314: [
5315: 'name' => 'product_id',
5316: 'key' => [
5317: 'product_id'
5318: ]
5319: ]
5320: ],
5321: 'engine' => 'InnoDB',
5322: 'charset' => 'utf8mb4',
5323: 'collate' => 'utf8mb4_general_ci'
5324: ];
5325:
5326: $tables[] = [
5327: 'name' => 'product_option',
5328: 'field' => [
5329: [
5330: 'name' => 'product_option_id',
5331: 'type' => 'int(11)',
5332: 'auto_increment' => true
5333: ],
5334: [
5335: 'name' => 'product_id',
5336: 'type' => 'int(11)'
5337: ],
5338: [
5339: 'name' => 'option_id',
5340: 'type' => 'int(11)'
5341: ],
5342: [
5343: 'name' => 'value',
5344: 'type' => 'text'
5345: ],
5346: [
5347: 'name' => 'required',
5348: 'type' => 'tinyint(1)'
5349: ]
5350: ],
5351: 'primary' => [
5352: 'product_option_id'
5353: ],
5354: 'foreign' => [
5355: [
5356: 'key' => 'product_id',
5357: 'table' => 'product',
5358: 'field' => 'product_id'
5359: ],
5360: [
5361: 'key' => 'option_id',
5362: 'table' => 'option',
5363: 'field' => 'option_id'
5364: ]
5365: ],
5366: 'engine' => 'InnoDB',
5367: 'charset' => 'utf8mb4',
5368: 'collate' => 'utf8mb4_general_ci'
5369: ];
5370:
5371: $tables[] = [
5372: 'name' => 'product_option_value',
5373: 'field' => [
5374: [
5375: 'name' => 'product_option_value_id',
5376: 'type' => 'int(11)',
5377: 'auto_increment' => true
5378: ],
5379: [
5380: 'name' => 'product_option_id',
5381: 'type' => 'int(11)'
5382: ],
5383: [
5384: 'name' => 'product_id',
5385: 'type' => 'int(11)'
5386: ],
5387: [
5388: 'name' => 'option_id',
5389: 'type' => 'int(11)'
5390: ],
5391: [
5392: 'name' => 'option_value_id',
5393: 'type' => 'int(11)'
5394: ],
5395: [
5396: 'name' => 'quantity',
5397: 'type' => 'int(3)'
5398: ],
5399: [
5400: 'name' => 'subtract',
5401: 'type' => 'tinyint(1)'
5402: ],
5403: [
5404: 'name' => 'price',
5405: 'type' => 'decimal(15,4)'
5406: ],
5407: [
5408: 'name' => 'price_prefix',
5409: 'type' => 'varchar(1)'
5410: ],
5411: [
5412: 'name' => 'points',
5413: 'type' => 'int(8)'
5414: ],
5415: [
5416: 'name' => 'points_prefix',
5417: 'type' => 'varchar(1)'
5418: ],
5419: [
5420: 'name' => 'weight',
5421: 'type' => 'decimal(15,8)'
5422: ],
5423: [
5424: 'name' => 'weight_prefix',
5425: 'type' => 'varchar(1)'
5426: ]
5427: ],
5428: 'primary' => [
5429: 'product_option_value_id'
5430: ],
5431: 'foreign' => [
5432: [
5433: 'key' => 'product_option_id',
5434: 'table' => 'product_option',
5435: 'field' => 'product_option_id'
5436: ],
5437: [
5438: 'key' => 'product_id',
5439: 'table' => 'product',
5440: 'field' => 'product_id'
5441: ],
5442: [
5443: 'key' => 'option_id',
5444: 'table' => 'option',
5445: 'field' => 'option_id'
5446: ],
5447: [
5448: 'key' => 'option_value_id',
5449: 'table' => 'option_value',
5450: 'field' => 'option_value_id'
5451: ]
5452: ],
5453: 'engine' => 'InnoDB',
5454: 'charset' => 'utf8mb4',
5455: 'collate' => 'utf8mb4_general_ci'
5456: ];
5457:
5458: $tables[] = [
5459: 'name' => 'product_subscription',
5460: 'field' => [
5461: [
5462: 'name' => 'product_id',
5463: 'type' => 'int(11)'
5464: ],
5465: [
5466: 'name' => 'subscription_plan_id',
5467: 'type' => 'int(11)'
5468: ],
5469: [
5470: 'name' => 'customer_group_id',
5471: 'type' => 'int(11)'
5472: ],
5473: [
5474: 'name' => 'trial_price',
5475: 'type' => 'decimal(10,4)'
5476: ],
5477: [
5478: 'name' => 'price',
5479: 'type' => 'decimal(10,4)'
5480: ]
5481: ],
5482: 'primary' => [
5483: 'product_id',
5484: 'subscription_plan_id',
5485: 'customer_group_id'
5486: ],
5487: 'foreign' => [
5488: [
5489: 'key' => 'product_id',
5490: 'table' => 'product',
5491: 'field' => 'product_id'
5492: ],
5493: [
5494: 'key' => 'subscription_plan_id',
5495: 'table' => 'subscription_plan',
5496: 'field' => 'subscription_plan_id'
5497: ],
5498: [
5499: 'key' => 'customer_group_id',
5500: 'table' => 'customer_group',
5501: 'field' => 'customer_group_id'
5502: ]
5503: ],
5504: 'engine' => 'InnoDB',
5505: 'charset' => 'utf8mb4',
5506: 'collate' => 'utf8mb4_general_ci'
5507: ];
5508:
5509: $tables[] = [
5510: 'name' => 'product_related',
5511: 'field' => [
5512: [
5513: 'name' => 'product_id',
5514: 'type' => 'int(11)'
5515: ],
5516: [
5517: 'name' => 'related_id',
5518: 'type' => 'int(11)'
5519: ]
5520: ],
5521: 'primary' => [
5522: 'product_id',
5523: 'related_id'
5524: ],
5525: 'foreign' => [
5526: [
5527: 'key' => 'product_id',
5528: 'table' => 'product',
5529: 'field' => 'product_id'
5530: ],
5531: [
5532: 'key' => 'related_id',
5533: 'table' => 'product',
5534: 'field' => 'product_id'
5535: ]
5536: ],
5537: 'engine' => 'InnoDB',
5538: 'charset' => 'utf8mb4',
5539: 'collate' => 'utf8mb4_general_ci'
5540: ];
5541:
5542: $tables[] = [
5543: 'name' => 'product_report',
5544: 'field' => [
5545: [
5546: 'name' => 'product_report_id',
5547: 'type' => 'int(11)',
5548: 'auto_increment' => true
5549: ],
5550: [
5551: 'name' => 'product_id',
5552: 'type' => 'int(11)'
5553: ],
5554: [
5555: 'name' => 'store_id',
5556: 'type' => 'int(11)',
5557: 'default' => 0
5558: ],
5559: [
5560: 'name' => 'ip',
5561: 'type' => 'varchar(40)'
5562: ],
5563: [
5564: 'name' => 'country',
5565: 'type' => 'varchar(2)'
5566: ],
5567: [
5568: 'name' => 'date_added',
5569: 'type' => 'datetime'
5570: ]
5571: ],
5572: 'primary' => [
5573: 'product_report_id'
5574: ],
5575: 'foreign' => [
5576: [
5577: 'key' => 'product_id',
5578: 'table' => 'product',
5579: 'field' => 'product_id'
5580: ],
5581: [
5582: 'key' => 'store_id',
5583: 'table' => 'store',
5584: 'field' => 'store_id'
5585: ]
5586: ],
5587: 'engine' => 'InnoDB',
5588: 'charset' => 'utf8mb4',
5589: 'collate' => 'utf8mb4_general_ci'
5590: ];
5591:
5592: $tables[] = [
5593: 'name' => 'product_reward',
5594: 'field' => [
5595: [
5596: 'name' => 'product_reward_id',
5597: 'type' => 'int(11)',
5598: 'auto_increment' => true
5599: ],
5600: [
5601: 'name' => 'product_id',
5602: 'type' => 'int(11)',
5603: 'default' => 0
5604: ],
5605: [
5606: 'name' => 'customer_group_id',
5607: 'type' => 'int(11)',
5608: 'default' => '0'
5609: ],
5610: [
5611: 'name' => 'points',
5612: 'type' => 'int(8)',
5613: 'default' => '0'
5614: ]
5615: ],
5616: 'primary' => [
5617: 'product_reward_id'
5618: ],
5619: 'foreign' => [
5620: [
5621: 'key' => 'product_id',
5622: 'table' => 'product',
5623: 'field' => 'product_id'
5624: ],
5625: [
5626: 'key' => 'customer_group_id',
5627: 'table' => 'customer_group',
5628: 'field' => 'customer_group_id'
5629: ]
5630: ],
5631: 'engine' => 'InnoDB',
5632: 'charset' => 'utf8mb4',
5633: 'collate' => 'utf8mb4_general_ci'
5634: ];
5635:
5636: $tables[] = [
5637: 'name' => 'product_special',
5638: 'field' => [
5639: [
5640: 'name' => 'product_special_id',
5641: 'type' => 'int(11)',
5642: 'auto_increment' => true
5643: ],
5644: [
5645: 'name' => 'product_id',
5646: 'type' => 'int(11)'
5647: ],
5648: [
5649: 'name' => 'customer_group_id',
5650: 'type' => 'int(11)'
5651: ],
5652: [
5653: 'name' => 'priority',
5654: 'type' => 'int(5)',
5655: 'default' => '1'
5656: ],
5657: [
5658: 'name' => 'price',
5659: 'type' => 'decimal(15,4)',
5660: 'default' => '0.0000'
5661: ],
5662: [
5663: 'name' => 'date_start',
5664: 'type' => 'date'
5665: ],
5666: [
5667: 'name' => 'date_end',
5668: 'type' => 'date'
5669: ]
5670: ],
5671: 'primary' => [
5672: 'product_special_id'
5673: ],
5674: 'foreign' => [
5675: [
5676: 'key' => 'product_id',
5677: 'table' => 'product',
5678: 'field' => 'product_id'
5679: ],
5680: [
5681: 'key' => 'customer_group_id',
5682: 'table' => 'customer_group',
5683: 'field' => 'customer_group_id'
5684: ]
5685: ],
5686: 'index' => [
5687: [
5688: 'name' => 'product_id',
5689: 'key' => [
5690: 'product_id'
5691: ]
5692: ]
5693: ],
5694: 'engine' => 'InnoDB',
5695: 'charset' => 'utf8mb4',
5696: 'collate' => 'utf8mb4_general_ci'
5697: ];
5698:
5699: $tables[] = [
5700: 'name' => 'product_to_category',
5701: 'field' => [
5702: [
5703: 'name' => 'product_id',
5704: 'type' => 'int(11)'
5705: ],
5706: [
5707: 'name' => 'category_id',
5708: 'type' => 'int(11)'
5709: ]
5710: ],
5711: 'primary' => [
5712: 'product_id',
5713: 'category_id'
5714: ],
5715: 'foreign' => [
5716: [
5717: 'key' => 'product_id',
5718: 'table' => 'product',
5719: 'field' => 'product_id'
5720: ],
5721: [
5722: 'key' => 'category_id',
5723: 'table' => 'category',
5724: 'field' => 'category_id'
5725: ]
5726: ],
5727: 'index' => [
5728: [
5729: 'name' => 'category_id',
5730: 'key' => [
5731: 'category_id'
5732: ]
5733: ]
5734: ],
5735: 'engine' => 'InnoDB',
5736: 'charset' => 'utf8mb4',
5737: 'collate' => 'utf8mb4_general_ci'
5738: ];
5739:
5740: $tables[] = [
5741: 'name' => 'product_to_download',
5742: 'field' => [
5743: [
5744: 'name' => 'product_id',
5745: 'type' => 'int(11)'
5746: ],
5747: [
5748: 'name' => 'download_id',
5749: 'type' => 'int(11)'
5750: ]
5751: ],
5752: 'primary' => [
5753: 'product_id',
5754: 'download_id'
5755: ],
5756: 'foreign' => [
5757: [
5758: 'key' => 'product_id',
5759: 'table' => 'product',
5760: 'field' => 'product_id'
5761: ],
5762: [
5763: 'key' => 'download_id',
5764: 'table' => 'download',
5765: 'field' => 'download_id'
5766: ]
5767: ],
5768: 'engine' => 'InnoDB',
5769: 'charset' => 'utf8mb4',
5770: 'collate' => 'utf8mb4_general_ci'
5771: ];
5772:
5773: $tables[] = [
5774: 'name' => 'product_to_layout',
5775: 'field' => [
5776: [
5777: 'name' => 'product_id',
5778: 'type' => 'int(11)'
5779: ],
5780: [
5781: 'name' => 'store_id',
5782: 'type' => 'int(11)'
5783: ],
5784: [
5785: 'name' => 'layout_id',
5786: 'type' => 'int(11)'
5787: ]
5788: ],
5789: 'primary' => [
5790: 'product_id',
5791: 'store_id'
5792: ],
5793: 'foreign' => [
5794: [
5795: 'key' => 'product_id',
5796: 'table' => 'product',
5797: 'field' => 'product_id'
5798: ],
5799: [
5800: 'key' => 'store_id',
5801: 'table' => 'store',
5802: 'field' => 'store_id'
5803: ],
5804: [
5805: 'key' => 'layout_id',
5806: 'table' => 'layout',
5807: 'field' => 'layout_id'
5808: ]
5809: ],
5810: 'engine' => 'InnoDB',
5811: 'charset' => 'utf8mb4',
5812: 'collate' => 'utf8mb4_general_ci'
5813: ];
5814:
5815: $tables[] = [
5816: 'name' => 'product_to_store',
5817: 'field' => [
5818: [
5819: 'name' => 'product_id',
5820: 'type' => 'int(11)'
5821: ],
5822: [
5823: 'name' => 'store_id',
5824: 'type' => 'int(11)',
5825: 'default' => '0'
5826: ]
5827: ],
5828: 'primary' => [
5829: 'product_id',
5830: 'store_id'
5831: ],
5832: 'foreign' => [
5833: [
5834: 'key' => 'product_id',
5835: 'table' => 'product',
5836: 'field' => 'product_id'
5837: ],
5838: [
5839: 'key' => 'store_id',
5840: 'table' => 'store',
5841: 'field' => 'store_id'
5842: ]
5843: ],
5844: 'engine' => 'InnoDB',
5845: 'charset' => 'utf8mb4',
5846: 'collate' => 'utf8mb4_general_ci'
5847: ];
5848:
5849: $tables[] = [
5850: 'name' => 'product_viewed',
5851: 'field' => [
5852: [
5853: 'name' => 'product_id',
5854: 'type' => 'int(11)'
5855: ],
5856: [
5857: 'name' => 'viewed',
5858: 'type' => 'int(11)'
5859: ]
5860: ],
5861: 'primary' => [
5862: 'product_id'
5863: ],
5864: 'foreign' => [
5865: [
5866: 'key' => 'product_id',
5867: 'table' => 'product',
5868: 'field' => 'product_id'
5869: ]
5870: ],
5871: 'engine' => 'InnoDB',
5872: 'charset' => 'utf8mb4',
5873: 'collate' => 'utf8mb4_general_ci'
5874: ];
5875:
5876: $tables[] = [
5877: 'name' => 'return',
5878: 'field' => [
5879: [
5880: 'name' => 'return_id',
5881: 'type' => 'int(11)',
5882: 'auto_increment' => true
5883: ],
5884: [
5885: 'name' => 'order_id',
5886: 'type' => 'int(11)'
5887: ],
5888: [
5889: 'name' => 'product_id',
5890: 'type' => 'int(11)'
5891: ],
5892: [
5893: 'name' => 'customer_id',
5894: 'type' => 'int(11)'
5895: ],
5896: [
5897: 'name' => 'firstname',
5898: 'type' => 'varchar(32)'
5899: ],
5900: [
5901: 'name' => 'lastname',
5902: 'type' => 'varchar(32)'
5903: ],
5904: [
5905: 'name' => 'email',
5906: 'type' => 'varchar(96)'
5907: ],
5908: [
5909: 'name' => 'telephone',
5910: 'type' => 'varchar(32)'
5911: ],
5912: [
5913: 'name' => 'product',
5914: 'type' => 'varchar(255)'
5915: ],
5916: [
5917: 'name' => 'model',
5918: 'type' => 'varchar(64)'
5919: ],
5920: [
5921: 'name' => 'quantity',
5922: 'type' => 'int(4)'
5923: ],
5924: [
5925: 'name' => 'opened',
5926: 'type' => 'tinyint(1)'
5927: ],
5928: [
5929: 'name' => 'return_reason_id',
5930: 'type' => 'int(11)'
5931: ],
5932: [
5933: 'name' => 'return_action_id',
5934: 'type' => 'int(11)'
5935: ],
5936: [
5937: 'name' => 'return_status_id',
5938: 'type' => 'int(11)'
5939: ],
5940: [
5941: 'name' => 'comment',
5942: 'type' => 'text'
5943: ],
5944: [
5945: 'name' => 'date_ordered',
5946: 'type' => 'date'
5947: ],
5948: [
5949: 'name' => 'date_added',
5950: 'type' => 'datetime'
5951: ],
5952: [
5953: 'name' => 'date_modified',
5954: 'type' => 'datetime'
5955: ]
5956: ],
5957: 'primary' => [
5958: 'return_id'
5959: ],
5960: 'foreign' => [
5961: [
5962: 'key' => 'order_id',
5963: 'table' => 'order',
5964: 'field' => 'order_id'
5965: ],
5966: [
5967: 'key' => 'product_id',
5968: 'table' => 'product',
5969: 'field' => 'product_id'
5970: ],
5971: [
5972: 'key' => 'customer_id',
5973: 'table' => 'customer',
5974: 'field' => 'customer_id'
5975: ],
5976: [
5977: 'key' => 'return_reason_id',
5978: 'table' => 'return_reason',
5979: 'field' => 'return_reason_id'
5980: ],
5981: [
5982: 'key' => 'return_action_id',
5983: 'table' => 'return_action',
5984: 'field' => 'return_action_id'
5985: ],
5986: [
5987: 'key' => 'return_status_id',
5988: 'table' => 'return_status',
5989: 'field' => 'return_status_id'
5990: ]
5991: ],
5992: 'engine' => 'InnoDB',
5993: 'charset' => 'utf8mb4',
5994: 'collate' => 'utf8mb4_general_ci'
5995: ];
5996:
5997: $tables[] = [
5998: 'name' => 'return_action',
5999: 'field' => [
6000: [
6001: 'name' => 'return_action_id',
6002: 'type' => 'int(11)',
6003: 'auto_increment' => true
6004: ],
6005: [
6006: 'name' => 'language_id',
6007: 'type' => 'int(11)',
6008: 'default' => '0'
6009: ],
6010: [
6011: 'name' => 'name',
6012: 'type' => 'varchar(64)'
6013: ]
6014: ],
6015: 'primary' => [
6016: 'return_action_id',
6017: 'language_id'
6018: ],
6019: 'foreign' => [
6020: [
6021: 'key' => 'language_id',
6022: 'table' => 'language',
6023: 'field' => 'language_id'
6024: ]
6025: ],
6026: 'engine' => 'InnoDB',
6027: 'charset' => 'utf8mb4',
6028: 'collate' => 'utf8mb4_general_ci'
6029: ];
6030:
6031: $tables[] = [
6032: 'name' => 'return_history',
6033: 'field' => [
6034: [
6035: 'name' => 'return_history_id',
6036: 'type' => 'int(11)',
6037: 'auto_increment' => true
6038: ],
6039: [
6040: 'name' => 'return_id',
6041: 'type' => 'int(11)'
6042: ],
6043: [
6044: 'name' => 'return_status_id',
6045: 'type' => 'int(11)'
6046: ],
6047: [
6048: 'name' => 'notify',
6049: 'type' => 'tinyint(1)'
6050: ],
6051: [
6052: 'name' => 'comment',
6053: 'type' => 'text'
6054: ],
6055: [
6056: 'name' => 'date_added',
6057: 'type' => 'datetime'
6058: ]
6059: ],
6060: 'primary' => [
6061: 'return_history_id'
6062: ],
6063: 'foreign' => [
6064: [
6065: 'key' => 'return_id',
6066: 'table' => 'return',
6067: 'field' => 'return_id'
6068: ],
6069: [
6070: 'key' => 'return_status_id',
6071: 'table' => 'return_status',
6072: 'field' => 'return_status_id'
6073: ]
6074: ],
6075: 'engine' => 'InnoDB',
6076: 'charset' => 'utf8mb4',
6077: 'collate' => 'utf8mb4_general_ci'
6078: ];
6079:
6080: $tables[] = [
6081: 'name' => 'return_reason',
6082: 'field' => [
6083: [
6084: 'name' => 'return_reason_id',
6085: 'type' => 'int(11)',
6086: 'auto_increment' => true
6087: ],
6088: [
6089: 'name' => 'language_id',
6090: 'type' => 'int(11)',
6091: 'default' => '0'
6092: ],
6093: [
6094: 'name' => 'name',
6095: 'type' => 'varchar(128)'
6096: ]
6097: ],
6098: 'primary' => [
6099: 'return_reason_id',
6100: 'language_id'
6101: ],
6102: 'foreign' => [
6103: [
6104: 'key' => 'language_id',
6105: 'table' => 'language',
6106: 'field' => 'language_id'
6107: ]
6108: ],
6109: 'engine' => 'InnoDB',
6110: 'charset' => 'utf8mb4',
6111: 'collate' => 'utf8mb4_general_ci'
6112: ];
6113:
6114: $tables[] = [
6115: 'name' => 'return_status',
6116: 'field' => [
6117: [
6118: 'name' => 'return_status_id',
6119: 'type' => 'int(11)',
6120: 'auto_increment' => true
6121: ],
6122: [
6123: 'name' => 'language_id',
6124: 'type' => 'int(11)',
6125: 'default' => '0'
6126: ],
6127: [
6128: 'name' => 'name',
6129: 'type' => 'varchar(32)'
6130: ]
6131: ],
6132: 'primary' => [
6133: 'return_status_id',
6134: 'language_id'
6135: ],
6136: 'foreign' => [
6137: [
6138: 'key' => 'language_id',
6139: 'table' => 'language',
6140: 'field' => 'language_id'
6141: ]
6142: ],
6143: 'engine' => 'InnoDB',
6144: 'charset' => 'utf8mb4',
6145: 'collate' => 'utf8mb4_general_ci'
6146: ];
6147:
6148: $tables[] = [
6149: 'name' => 'review',
6150: 'field' => [
6151: [
6152: 'name' => 'review_id',
6153: 'type' => 'int(11)',
6154: 'auto_increment' => true
6155: ],
6156: [
6157: 'name' => 'product_id',
6158: 'type' => 'int(11)'
6159: ],
6160: [
6161: 'name' => 'customer_id',
6162: 'type' => 'int(11)'
6163: ],
6164: [
6165: 'name' => 'author',
6166: 'type' => 'varchar(64)'
6167: ],
6168: [
6169: 'name' => 'text',
6170: 'type' => 'text'
6171: ],
6172: [
6173: 'name' => 'rating',
6174: 'type' => 'int(1)'
6175: ],
6176: [
6177: 'name' => 'status',
6178: 'type' => 'tinyint(1)',
6179: 'default' => '0'
6180: ],
6181: [
6182: 'name' => 'date_added',
6183: 'type' => 'datetime'
6184: ],
6185: [
6186: 'name' => 'date_modified',
6187: 'type' => 'datetime'
6188: ]
6189: ],
6190: 'primary' => [
6191: 'review_id'
6192: ],
6193: 'foreign' => [
6194: [
6195: 'key' => 'product_id',
6196: 'table' => 'product',
6197: 'field' => 'product_id'
6198: ],
6199: [
6200: 'key' => 'customer_id',
6201: 'table' => 'customer',
6202: 'field' => 'customer_id'
6203: ]
6204: ],
6205: 'index' => [
6206: [
6207: 'name' => 'product_id',
6208: 'key' => [
6209: 'product_id'
6210: ]
6211: ]
6212: ],
6213: 'engine' => 'InnoDB',
6214: 'charset' => 'utf8mb4',
6215: 'collate' => 'utf8mb4_general_ci'
6216: ];
6217:
6218: $tables[] = [
6219: 'name' => 'startup',
6220: 'field' => [
6221: [
6222: 'name' => 'startup_id',
6223: 'type' => 'int(11)',
6224: 'auto_increment' => true
6225: ],
6226: [
6227: 'name' => 'description',
6228: 'type' => 'text'
6229: ],
6230: [
6231: 'name' => 'code',
6232: 'type' => 'varchar(64)'
6233: ],
6234: [
6235: 'name' => 'action',
6236: 'type' => 'text'
6237: ],
6238: [
6239: 'name' => 'status',
6240: 'type' => 'tinyint(1)'
6241: ],
6242: [
6243: 'name' => 'sort_order',
6244: 'type' => 'int(3)'
6245: ]
6246: ],
6247: 'primary' => [
6248: 'startup_id'
6249: ],
6250: 'engine' => 'InnoDB',
6251: 'charset' => 'utf8mb4',
6252: 'collate' => 'utf8mb4_general_ci'
6253: ];
6254:
6255: $tables[] = [
6256: 'name' => 'statistics',
6257: 'field' => [
6258: [
6259: 'name' => 'statistics_id',
6260: 'type' => 'int(11)',
6261: 'auto_increment' => true
6262: ],
6263: [
6264: 'name' => 'code',
6265: 'type' => 'varchar(64)'
6266: ],
6267: [
6268: 'name' => 'value',
6269: 'type' => 'decimal(15,4)'
6270: ]
6271: ],
6272: 'primary' => [
6273: 'statistics_id'
6274: ],
6275: 'engine' => 'InnoDB',
6276: 'charset' => 'utf8mb4',
6277: 'collate' => 'utf8mb4_general_ci'
6278: ];
6279:
6280: $tables[] = [
6281: 'name' => 'session',
6282: 'field' => [
6283: [
6284: 'name' => 'session_id',
6285: 'type' => 'varchar(32)'
6286: ],
6287: [
6288: 'name' => 'data',
6289: 'type' => 'text'
6290: ],
6291: [
6292: 'name' => 'expire',
6293: 'type' => 'datetime'
6294: ]
6295: ],
6296: 'primary' => [
6297: 'session_id'
6298: ],
6299: 'index' => [
6300: [
6301: 'name' => 'expire',
6302: 'key' => [
6303: 'expire'
6304: ]
6305: ]
6306: ],
6307: 'engine' => 'InnoDB',
6308: 'charset' => 'utf8mb4',
6309: 'collate' => 'utf8mb4_general_ci'
6310: ];
6311:
6312: $tables[] = [
6313: 'name' => 'setting',
6314: 'field' => [
6315: [
6316: 'name' => 'setting_id',
6317: 'type' => 'int(11)',
6318: 'auto_increment' => true
6319: ],
6320: [
6321: 'name' => 'store_id',
6322: 'type' => 'int(11)',
6323: 'default' => '0'
6324: ],
6325: [
6326: 'name' => 'code',
6327: 'type' => 'varchar(128)'
6328: ],
6329: [
6330: 'name' => 'key',
6331: 'type' => 'varchar(128)'
6332: ],
6333: [
6334: 'name' => 'value',
6335: 'type' => 'text'
6336: ],
6337: [
6338: 'name' => 'serialized',
6339: 'type' => 'tinyint(1)',
6340: 'default' => 0
6341: ]
6342: ],
6343: 'primary' => [
6344: 'setting_id'
6345: ],
6346: 'foreign' => [
6347: [
6348: 'key' => 'store_id',
6349: 'table' => 'store',
6350: 'field' => 'store_id'
6351: ]
6352: ],
6353: 'engine' => 'InnoDB',
6354: 'charset' => 'utf8mb4',
6355: 'collate' => 'utf8mb4_general_ci'
6356: ];
6357:
6358: $tables[] = [
6359: 'name' => 'stock_status',
6360: 'field' => [
6361: [
6362: 'name' => 'stock_status_id',
6363: 'type' => 'int(11)',
6364: 'auto_increment' => true
6365: ],
6366: [
6367: 'name' => 'language_id',
6368: 'type' => 'int(11)'
6369: ],
6370: [
6371: 'name' => 'name',
6372: 'type' => 'varchar(32)'
6373: ]
6374: ],
6375: 'primary' => [
6376: 'stock_status_id',
6377: 'language_id'
6378: ],
6379: 'foreign' => [
6380: [
6381: 'key' => 'language_id',
6382: 'table' => 'language',
6383: 'field' => 'language_id'
6384: ]
6385: ],
6386: 'engine' => 'InnoDB',
6387: 'charset' => 'utf8mb4',
6388: 'collate' => 'utf8mb4_general_ci'
6389: ];
6390:
6391: $tables[] = [
6392: 'name' => 'store',
6393: 'field' => [
6394: [
6395: 'name' => 'store_id',
6396: 'type' => 'int(11)',
6397: 'auto_increment' => true
6398: ],
6399: [
6400: 'name' => 'name',
6401: 'type' => 'varchar(64)'
6402: ],
6403: [
6404: 'name' => 'url',
6405: 'type' => 'varchar(255)'
6406: ]
6407: ],
6408: 'primary' => [
6409: 'store_id'
6410: ],
6411: 'engine' => 'InnoDB',
6412: 'charset' => 'utf8mb4',
6413: 'collate' => 'utf8mb4_general_ci'
6414: ];
6415:
6416: $tables[] = [
6417: 'name' => 'subscription',
6418: 'field' => [
6419: [
6420: 'name' => 'subscription_id',
6421: 'type' => 'int(11)',
6422: 'auto_increment' => true
6423: ],
6424: [
6425: 'name' => 'order_id',
6426: 'type' => 'int(11)'
6427: ],
6428: [
6429: 'name' => 'order_product_id',
6430: 'type' => 'int(11)'
6431: ],
6432: [
6433: 'name' => 'store_id',
6434: 'type' => 'int(11)'
6435: ],
6436: [
6437: 'name' => 'customer_id',
6438: 'type' => 'int(11)'
6439: ],
6440: [
6441: 'name' => 'payment_address_id',
6442: 'type' => 'int(11)'
6443: ],
6444: [
6445: 'name' => 'payment_method',
6446: 'type' => 'text'
6447: ],
6448: [
6449: 'name' => 'shipping_address_id',
6450: 'type' => 'int(11)'
6451: ],
6452: [
6453: 'name' => 'shipping_method',
6454: 'type' => 'text'
6455: ],
6456: [
6457: 'name' => 'product_id',
6458: 'type' => 'int(11)'
6459: ],
6460: [
6461: 'name' => 'option',
6462: 'type' => 'text'
6463: ],
6464: [
6465: 'name' => 'quantity',
6466: 'type' => 'int(4)'
6467: ],
6468: [
6469: 'name' => 'subscription_plan_id',
6470: 'type' => 'int(11)'
6471: ],
6472: [
6473: 'name' => 'trial_price',
6474: 'type' => 'decimal(10,4)'
6475: ],
6476: [
6477: 'name' => 'trial_frequency',
6478: 'type' => 'enum(\'day\',\'week\',\'semi_month\',\'month\',\'year\')'
6479: ],
6480: [
6481: 'name' => 'trial_cycle',
6482: 'type' => 'smallint(6)'
6483: ],
6484: [
6485: 'name' => 'trial_duration',
6486: 'type' => 'smallint(6)'
6487: ],
6488: [
6489: 'name' => 'trial_remaining',
6490: 'type' => 'smallint(6)'
6491: ],
6492: [
6493: 'name' => 'trial_status',
6494: 'type' => 'tinyint(1)'
6495: ],
6496: [
6497: 'name' => 'price',
6498: 'type' => 'decimal(10,4)'
6499: ],
6500: [
6501: 'name' => 'frequency',
6502: 'type' => 'enum(\'day\',\'week\',\'semi_month\',\'month\',\'year\')'
6503: ],
6504: [
6505: 'name' => 'cycle',
6506: 'type' => 'smallint(6)'
6507: ],
6508: [
6509: 'name' => 'duration',
6510: 'type' => 'smallint(6)'
6511: ],
6512: [
6513: 'name' => 'remaining',
6514: 'type' => 'smallint(6)'
6515: ],
6516: [
6517: 'name' => 'date_next',
6518: 'type' => 'datetime'
6519: ],
6520: [
6521: 'name' => 'comment',
6522: 'type' => 'text'
6523: ],
6524: [
6525: 'name' => 'subscription_status_id',
6526: 'type' => 'int(11)'
6527: ],
6528: [
6529: 'name' => 'affiliate_id',
6530: 'type' => 'int(11)'
6531: ],
6532: [
6533: 'name' => 'marketing_id',
6534: 'type' => 'int(11)'
6535: ],
6536: [
6537: 'name' => 'tracking',
6538: 'type' => 'varchar(64)'
6539: ],
6540: [
6541: 'name' => 'language_id',
6542: 'type' => 'int(11)'
6543: ],
6544: [
6545: 'name' => 'currency_id',
6546: 'type' => 'int(11)'
6547: ],
6548: [
6549: 'name' => 'ip',
6550: 'type' => 'varchar(40)'
6551: ],
6552: [
6553: 'name' => 'forwarded_ip',
6554: 'type' => 'varchar(40)'
6555: ],
6556: [
6557: 'name' => 'user_agent',
6558: 'type' => 'varchar(255)'
6559: ],
6560: [
6561: 'name' => 'accept_language',
6562: 'type' => 'varchar(255)'
6563: ],
6564: [
6565: 'name' => 'date_added',
6566: 'type' => 'datetime'
6567: ],
6568: [
6569: 'name' => 'date_modified',
6570: 'type' => 'datetime'
6571: ]
6572: ],
6573: 'primary' => [
6574: 'subscription_id'
6575: ],
6576: 'foreign' => [
6577: [
6578: 'key' => 'customer_id',
6579: 'table' => 'customer',
6580: 'field' => 'customer_id'
6581: ],
6582: [
6583: 'key' => 'order_id',
6584: 'table' => 'order',
6585: 'field' => 'order_id'
6586: ],
6587: [
6588: 'key' => 'order_product_id',
6589: 'table' => 'order_product',
6590: 'field' => 'order_product_id'
6591: ],
6592: [
6593: 'key' => 'subscription_plan_id',
6594: 'table' => 'subscription_plan',
6595: 'field' => 'subscription_plan_id'
6596: ],
6597: [
6598: 'key' => 'subscription_status_id',
6599: 'table' => 'subscription_status',
6600: 'field' => 'subscription_status_id'
6601: ]
6602: ],
6603: 'index' => [
6604: [
6605: 'name' => 'order_id',
6606: 'key' => [
6607: 'order_id'
6608: ]
6609: ]
6610: ],
6611: 'engine' => 'InnoDB',
6612: 'charset' => 'utf8mb4',
6613: 'collate' => 'utf8mb4_general_ci'
6614: ];
6615:
6616: $tables[] = [
6617: 'name' => 'subscription_history',
6618: 'field' => [
6619: [
6620: 'name' => 'subscription_history_id',
6621: 'type' => 'int(11)',
6622: 'auto_increment' => true
6623: ],
6624: [
6625: 'name' => 'subscription_id',
6626: 'type' => 'int(11)'
6627: ],
6628: [
6629: 'name' => 'subscription_status_id',
6630: 'type' => 'int(11)'
6631: ],
6632: [
6633: 'name' => 'notify',
6634: 'type' => 'tinyint(1)',
6635: 'default' => '0'
6636: ],
6637: [
6638: 'name' => 'comment',
6639: 'type' => 'text'
6640: ],
6641: [
6642: 'name' => 'date_added',
6643: 'type' => 'datetime'
6644: ]
6645: ],
6646: 'primary' => [
6647: 'subscription_history_id'
6648: ],
6649: 'foreign' => [
6650: [
6651: 'key' => 'subscription_id',
6652: 'table' => 'subscription',
6653: 'field' => 'subscription_id'
6654: ],
6655: [
6656: 'key' => 'subscription_status_id',
6657: 'table' => 'subscription_status',
6658: 'field' => 'subscription_status_id'
6659: ]
6660: ],
6661: 'engine' => 'InnoDB',
6662: 'charset' => 'utf8mb4',
6663: 'collate' => 'utf8mb4_general_ci'
6664: ];
6665:
6666: $tables[] = [
6667: 'name' => 'subscription_plan',
6668: 'field' => [
6669: [
6670: 'name' => 'subscription_plan_id',
6671: 'type' => 'int(11)',
6672: 'auto_increment' => true
6673: ],
6674: [
6675: 'name' => 'trial_frequency',
6676: 'type' => 'enum(\'day\',\'week\',\'semi_month\',\'month\',\'year\')'
6677: ],
6678: [
6679: 'name' => 'trial_duration',
6680: 'type' => 'int(10)'
6681: ],
6682: [
6683: 'name' => 'trial_cycle',
6684: 'type' => 'int(10)'
6685: ],
6686: [
6687: 'name' => 'trial_status',
6688: 'type' => 'tinyint(4)'
6689: ],
6690: [
6691: 'name' => 'frequency',
6692: 'type' => 'enum(\'day\',\'week\',\'semi_month\',\'month\',\'year\')'
6693: ],
6694: [
6695: 'name' => 'duration',
6696: 'type' => 'int(10)'
6697: ],
6698: [
6699: 'name' => 'cycle',
6700: 'type' => 'int(10)'
6701: ],
6702: [
6703: 'name' => 'status',
6704: 'type' => 'tinyint(1)'
6705: ],
6706: [
6707: 'name' => 'sort_order',
6708: 'type' => 'int(3)'
6709: ]
6710: ],
6711: 'primary' => [
6712: 'subscription_plan_id'
6713: ],
6714: 'engine' => 'InnoDB',
6715: 'charset' => 'utf8mb4',
6716: 'collate' => 'utf8mb4_general_ci'
6717: ];
6718:
6719: $tables[] = [
6720: 'name' => 'subscription_plan_description',
6721: 'field' => [
6722: [
6723: 'name' => 'subscription_plan_id',
6724: 'type' => 'int(11)'
6725: ],
6726: [
6727: 'name' => 'language_id',
6728: 'type' => 'int(11)'
6729: ],
6730: [
6731: 'name' => 'name',
6732: 'type' => 'varchar(255)'
6733: ]
6734: ],
6735: 'primary' => [
6736: 'subscription_plan_id',
6737: 'language_id'
6738: ],
6739: 'foreign' => [
6740: [
6741: 'key' => 'language_id',
6742: 'table' => 'language',
6743: 'field' => 'language_id'
6744: ]
6745: ],
6746: 'engine' => 'InnoDB',
6747: 'charset' => 'utf8mb4',
6748: 'collate' => 'utf8mb4_general_ci'
6749: ];
6750:
6751: $tables[] = [
6752: 'name' => 'subscription_status',
6753: 'field' => [
6754: [
6755: 'name' => 'subscription_status_id',
6756: 'type' => 'int(11)',
6757: 'auto_increment' => true
6758: ],
6759: [
6760: 'name' => 'language_id',
6761: 'type' => 'int(11)'
6762: ],
6763: [
6764: 'name' => 'name',
6765: 'type' => 'varchar(32)'
6766: ]
6767: ],
6768: 'primary' => [
6769: 'subscription_status_id',
6770: 'language_id'
6771: ],
6772: 'foreign' => [
6773: [
6774: 'key' => 'language_id',
6775: 'table' => 'language',
6776: 'field' => 'language_id'
6777: ]
6778: ],
6779: 'engine' => 'InnoDB',
6780: 'charset' => 'utf8mb4',
6781: 'collate' => 'utf8mb4_general_ci'
6782: ];
6783:
6784: $tables[] = [
6785: 'name' => 'tax_class',
6786: 'field' => [
6787: [
6788: 'name' => 'tax_class_id',
6789: 'type' => 'int(11)',
6790: 'auto_increment' => true
6791: ],
6792: [
6793: 'name' => 'title',
6794: 'type' => 'varchar(32)'
6795: ],
6796: [
6797: 'name' => 'description',
6798: 'type' => 'varchar(255)'
6799: ]
6800: ],
6801: 'primary' => [
6802: 'tax_class_id'
6803: ],
6804: 'engine' => 'InnoDB',
6805: 'charset' => 'utf8mb4',
6806: 'collate' => 'utf8mb4_general_ci'
6807: ];
6808:
6809: $tables[] = [
6810: 'name' => 'tax_rate',
6811: 'field' => [
6812: [
6813: 'name' => 'tax_rate_id',
6814: 'type' => 'int(11)',
6815: 'auto_increment' => true
6816: ],
6817: [
6818: 'name' => 'geo_zone_id',
6819: 'type' => 'int(11)',
6820: 'default' => '0'
6821: ],
6822: [
6823: 'name' => 'name',
6824: 'type' => 'varchar(32)'
6825: ],
6826: [
6827: 'name' => 'rate',
6828: 'type' => 'decimal(15,4)',
6829: 'default' => '0.0000'
6830: ],
6831: [
6832: 'name' => 'type',
6833: 'type' => 'char(1)'
6834: ]
6835: ],
6836: 'primary' => [
6837: 'tax_rate_id'
6838: ],
6839: 'foreign' => [
6840: [
6841: 'key' => 'geo_zone_id',
6842: 'table' => 'geo_zone',
6843: 'field' => 'geo_zone_id'
6844: ]
6845: ],
6846: 'engine' => 'InnoDB',
6847: 'charset' => 'utf8mb4',
6848: 'collate' => 'utf8mb4_general_ci'
6849: ];
6850:
6851: $tables[] = [
6852: 'name' => 'tax_rate_to_customer_group',
6853: 'field' => [
6854: [
6855: 'name' => 'tax_rate_id',
6856: 'type' => 'int(11)'
6857: ],
6858: [
6859: 'name' => 'customer_group_id',
6860: 'type' => 'int(11)'
6861: ]
6862: ],
6863: 'primary' => [
6864: 'tax_rate_id',
6865: 'customer_group_id'
6866: ],
6867: 'foreign' => [
6868: [
6869: 'key' => 'tax_rate_id',
6870: 'table' => 'tax_rate',
6871: 'field' => 'tax_rate_id'
6872: ],
6873: [
6874: 'key' => 'customer_group_id',
6875: 'table' => 'customer_group',
6876: 'field' => 'customer_group_id'
6877: ]
6878: ],
6879: 'engine' => 'InnoDB',
6880: 'charset' => 'utf8mb4',
6881: 'collate' => 'utf8mb4_general_ci'
6882: ];
6883:
6884: $tables[] = [
6885: 'name' => 'tax_rule',
6886: 'field' => [
6887: [
6888: 'name' => 'tax_rule_id',
6889: 'type' => 'int(11)',
6890: 'auto_increment' => true
6891: ],
6892: [
6893: 'name' => 'tax_class_id',
6894: 'type' => 'int(11)'
6895: ],
6896: [
6897: 'name' => 'tax_rate_id',
6898: 'type' => 'int(11)'
6899: ],
6900: [
6901: 'name' => 'based',
6902: 'type' => 'varchar(10)'
6903: ],
6904: [
6905: 'name' => 'priority',
6906: 'type' => 'int(5)',
6907: 'default' => '1'
6908: ]
6909: ],
6910: 'primary' => [
6911: 'tax_rule_id'
6912: ],
6913: 'foreign' => [
6914: [
6915: 'key' => 'tax_class_id',
6916: 'table' => 'tax_class',
6917: 'field' => 'tax_class_id'
6918: ],
6919: [
6920: 'key' => 'tax_rate_id',
6921: 'table' => 'tax_rate',
6922: 'field' => 'tax_rate_id'
6923: ]
6924: ],
6925: 'engine' => 'InnoDB',
6926: 'charset' => 'utf8mb4',
6927: 'collate' => 'utf8mb4_general_ci'
6928: ];
6929:
6930: $tables[] = [
6931: 'name' => 'theme',
6932: 'field' => [
6933: [
6934: 'name' => 'theme_id',
6935: 'type' => 'int(11)',
6936: 'auto_increment' => true
6937: ],
6938: [
6939: 'name' => 'store_id',
6940: 'type' => 'int(11)'
6941: ],
6942: [
6943: 'name' => 'route',
6944: 'type' => 'varchar(64)'
6945: ],
6946: [
6947: 'name' => 'code',
6948: 'type' => 'mediumtext'
6949: ],
6950: [
6951: 'name' => 'status',
6952: 'type' => 'tinyint(1)'
6953: ],
6954: [
6955: 'name' => 'date_added',
6956: 'type' => 'datetime'
6957: ]
6958: ],
6959: 'primary' => [
6960: 'theme_id'
6961: ],
6962: 'foreign' => [
6963: [
6964: 'key' => 'store_id',
6965: 'table' => 'store',
6966: 'field' => 'store_id'
6967: ]
6968: ],
6969: 'engine' => 'InnoDB',
6970: 'charset' => 'utf8mb4',
6971: 'collate' => 'utf8mb4_general_ci'
6972: ];
6973:
6974: $tables[] = [
6975: 'name' => 'translation',
6976: 'field' => [
6977: [
6978: 'name' => 'translation_id',
6979: 'type' => 'int(11)',
6980: 'auto_increment' => true
6981: ],
6982: [
6983: 'name' => 'store_id',
6984: 'type' => 'int(11)'
6985: ],
6986: [
6987: 'name' => 'language_id',
6988: 'type' => 'int(11)'
6989: ],
6990: [
6991: 'name' => 'route',
6992: 'type' => 'varchar(64)'
6993: ],
6994: [
6995: 'name' => 'key',
6996: 'type' => 'varchar(64)'
6997: ],
6998: [
6999: 'name' => 'value',
7000: 'type' => 'text'
7001: ],
7002: [
7003: 'name' => 'date_added',
7004: 'type' => 'datetime'
7005: ]
7006: ],
7007: 'primary' => [
7008: 'translation_id'
7009: ],
7010: 'foreign' => [
7011: [
7012: 'key' => 'store_id',
7013: 'table' => 'store',
7014: 'field' => 'store_id'
7015: ],
7016: [
7017: 'key' => 'language_id',
7018: 'table' => 'language',
7019: 'field' => 'language_id'
7020: ]
7021: ],
7022: 'engine' => 'InnoDB',
7023: 'charset' => 'utf8mb4',
7024: 'collate' => 'utf8mb4_general_ci'
7025: ];
7026:
7027: $tables[] = [
7028: 'name' => 'upload',
7029: 'field' => [
7030: [
7031: 'name' => 'upload_id',
7032: 'type' => 'int(11)',
7033: 'auto_increment' => true
7034: ],
7035: [
7036: 'name' => 'name',
7037: 'type' => 'varchar(255)'
7038: ],
7039: [
7040: 'name' => 'filename',
7041: 'type' => 'varchar(255)'
7042: ],
7043: [
7044: 'name' => 'code',
7045: 'type' => 'varchar(255)'
7046: ],
7047: [
7048: 'name' => 'date_added',
7049: 'type' => 'datetime'
7050: ]
7051: ],
7052: 'primary' => [
7053: 'upload_id'
7054: ],
7055: 'engine' => 'InnoDB',
7056: 'charset' => 'utf8mb4',
7057: 'collate' => 'utf8mb4_general_ci'
7058: ];
7059:
7060: $tables[] = [
7061: 'name' => 'seo_url',
7062: 'field' => [
7063: [
7064: 'name' => 'seo_url_id',
7065: 'type' => 'int(11)',
7066: 'auto_increment' => true
7067: ],
7068: [
7069: 'name' => 'store_id',
7070: 'type' => 'int(11)'
7071: ],
7072: [
7073: 'name' => 'language_id',
7074: 'type' => 'int(11)'
7075: ],
7076: [
7077: 'name' => 'key',
7078: 'type' => 'varchar(64)'
7079: ],
7080: [
7081: 'name' => 'value',
7082: 'type' => 'varchar(255)'
7083: ],
7084: [
7085: 'name' => 'keyword',
7086: 'type' => 'varchar(768)'
7087: ],
7088: [
7089: 'name' => 'sort_order',
7090: 'type' => 'int(3)'
7091: ]
7092: ],
7093: 'primary' => [
7094: 'seo_url_id'
7095: ],
7096: 'foreign' => [
7097: [
7098: 'key' => 'store_id',
7099: 'table' => 'store',
7100: 'field' => 'store_id'
7101: ],
7102: [
7103: 'key' => 'language_id',
7104: 'table' => 'language',
7105: 'field' => 'language_id'
7106: ]
7107: ],
7108: 'index' => [
7109: [
7110: 'name' => 'keyword',
7111: 'key' => [
7112: 'keyword'
7113: ]
7114: ],
7115: [
7116: 'name' => 'query',
7117: 'key' => [
7118: 'key',
7119: 'value'
7120: ]
7121: ]
7122: ],
7123: 'engine' => 'InnoDB',
7124: 'charset' => 'utf8mb4',
7125: 'collate' => 'utf8mb4_general_ci'
7126: ];
7127:
7128: $tables[] = [
7129: 'name' => 'user',
7130: 'field' => [
7131: [
7132: 'name' => 'user_id',
7133: 'type' => 'int(11)',
7134: 'auto_increment' => true
7135: ],
7136: [
7137: 'name' => 'user_group_id',
7138: 'type' => 'int(11)'
7139: ],
7140: [
7141: 'name' => 'username',
7142: 'type' => 'varchar(20)'
7143: ],
7144: [
7145: 'name' => 'password',
7146: 'type' => 'varchar(255)'
7147: ],
7148: [
7149: 'name' => 'firstname',
7150: 'type' => 'varchar(32)'
7151: ],
7152: [
7153: 'name' => 'lastname',
7154: 'type' => 'varchar(32)'
7155: ],
7156: [
7157: 'name' => 'email',
7158: 'type' => 'varchar(96)'
7159: ],
7160: [
7161: 'name' => 'image',
7162: 'type' => 'varchar(255)',
7163: 'default' => ''
7164: ],
7165: [
7166: 'name' => 'code',
7167: 'type' => 'varchar(40)',
7168: 'default' => ''
7169: ],
7170: [
7171: 'name' => 'ip',
7172: 'type' => 'varchar(40)',
7173: 'default' => ''
7174: ],
7175: [
7176: 'name' => 'status',
7177: 'type' => 'tinyint(1)'
7178: ],
7179: [
7180: 'name' => 'date_added',
7181: 'type' => 'datetime'
7182: ]
7183: ],
7184: 'primary' => [
7185: 'user_id'
7186: ],
7187: 'foreign' => [
7188: [
7189: 'key' => 'user_group_id',
7190: 'table' => 'user_group',
7191: 'field' => 'user_group_id'
7192: ]
7193: ],
7194: 'engine' => 'InnoDB',
7195: 'charset' => 'utf8mb4',
7196: 'collate' => 'utf8mb4_general_ci'
7197: ];
7198:
7199: $tables[] = [
7200: 'name' => 'user_authorize',
7201: 'field' => [
7202: [
7203: 'name' => 'user_authorize_id',
7204: 'type' => 'int(11)',
7205: 'auto_increment' => true
7206: ],
7207: [
7208: 'name' => 'user_id',
7209: 'type' => 'int(11)'
7210: ],
7211: [
7212: 'name' => 'token',
7213: 'type' => 'varchar(96)'
7214: ],
7215: [
7216: 'name' => 'total',
7217: 'type' => 'int(1)'
7218: ],
7219: [
7220: 'name' => 'ip',
7221: 'type' => 'varchar(40)'
7222: ],
7223: [
7224: 'name' => 'user_agent',
7225: 'type' => 'varchar(255)'
7226: ],
7227: [
7228: 'name' => 'status',
7229: 'type' => 'tinyint(1)'
7230: ],
7231: [
7232: 'name' => 'date_added',
7233: 'type' => 'datetime'
7234: ]
7235: ],
7236: 'primary' => [
7237: 'user_authorize_id'
7238: ],
7239: 'foreign' => [
7240: [
7241: 'key' => 'user_id',
7242: 'table' => 'user',
7243: 'field' => 'user_id'
7244: ]
7245: ],
7246: 'engine' => 'InnoDB',
7247: 'charset' => 'utf8mb4',
7248: 'collate' => 'utf8mb4_general_ci'
7249: ];
7250:
7251: $tables[] = [
7252: 'name' => 'user_group',
7253: 'field' => [
7254: [
7255: 'name' => 'user_group_id',
7256: 'type' => 'int(11)',
7257: 'auto_increment' => true
7258: ],
7259: [
7260: 'name' => 'name',
7261: 'type' => 'varchar(64)'
7262: ],
7263: [
7264: 'name' => 'permission',
7265: 'type' => 'text'
7266: ]
7267: ],
7268: 'primary' => [
7269: 'user_group_id'
7270: ],
7271: 'engine' => 'InnoDB',
7272: 'charset' => 'utf8mb4',
7273: 'collate' => 'utf8mb4_general_ci'
7274: ];
7275:
7276: $tables[] = [
7277: 'name' => 'user_login',
7278: 'field' => [
7279: [
7280: 'name' => 'user_login_id',
7281: 'type' => 'int(11)',
7282: 'auto_increment' => true
7283: ],
7284: [
7285: 'name' => 'user_id',
7286: 'type' => 'int(11)'
7287: ],
7288: [
7289: 'name' => 'ip',
7290: 'type' => 'varchar(40)'
7291: ],
7292: [
7293: 'name' => 'user_agent',
7294: 'type' => 'varchar(255)'
7295: ],
7296: [
7297: 'name' => 'date_added',
7298: 'type' => 'datetime'
7299: ]
7300: ],
7301: 'primary' => [
7302: 'user_login_id'
7303: ],
7304: 'foreign' => [
7305: [
7306: 'key' => 'user_id',
7307: 'table' => 'user',
7308: 'field' => 'user_id'
7309: ]
7310: ],
7311: 'engine' => 'InnoDB',
7312: 'charset' => 'utf8mb4',
7313: 'collate' => 'utf8mb4_general_ci'
7314: ];
7315:
7316: $tables[] = [
7317: 'name' => 'voucher',
7318: 'field' => [
7319: [
7320: 'name' => 'voucher_id',
7321: 'type' => 'int(11)',
7322: 'auto_increment' => true
7323: ],
7324: [
7325: 'name' => 'order_id',
7326: 'type' => 'int(11)'
7327: ],
7328: [
7329: 'name' => 'code',
7330: 'type' => 'varchar(10)'
7331: ],
7332: [
7333: 'name' => 'from_name',
7334: 'type' => 'varchar(64)'
7335: ],
7336: [
7337: 'name' => 'from_email',
7338: 'type' => 'varchar(96)'
7339: ],
7340: [
7341: 'name' => 'to_name',
7342: 'type' => 'varchar(64)'
7343: ],
7344: [
7345: 'name' => 'to_email',
7346: 'type' => 'varchar(96)'
7347: ],
7348: [
7349: 'name' => 'voucher_theme_id',
7350: 'type' => 'int(11)'
7351: ],
7352: [
7353: 'name' => 'message',
7354: 'type' => 'text'
7355: ],
7356: [
7357: 'name' => 'amount',
7358: 'type' => 'decimal(15,4)'
7359: ],
7360: [
7361: 'name' => 'status',
7362: 'type' => 'tinyint(1)'
7363: ],
7364: [
7365: 'name' => 'date_added',
7366: 'type' => 'datetime'
7367: ]
7368: ],
7369: 'primary' => [
7370: 'voucher_id'
7371: ],
7372: 'foreign' => [
7373: [
7374: 'key' => 'order_id',
7375: 'table' => 'order',
7376: 'field' => 'order_id'
7377: ]
7378: ],
7379: 'engine' => 'InnoDB',
7380: 'charset' => 'utf8mb4',
7381: 'collate' => 'utf8mb4_general_ci'
7382: ];
7383:
7384: $tables[] = [
7385: 'name' => 'voucher_history',
7386: 'field' => [
7387: [
7388: 'name' => 'voucher_history_id',
7389: 'type' => 'int(11)',
7390: 'auto_increment' => true
7391: ],
7392: [
7393: 'name' => 'voucher_id',
7394: 'type' => 'int(11)'
7395: ],
7396: [
7397: 'name' => 'order_id',
7398: 'type' => 'int(11)'
7399: ],
7400: [
7401: 'name' => 'amount',
7402: 'type' => 'decimal(15,4)'
7403: ],
7404: [
7405: 'name' => 'date_added',
7406: 'type' => 'datetime'
7407: ]
7408: ],
7409: 'primary' => [
7410: 'voucher_history_id'
7411: ],
7412: 'foreign' => [
7413: [
7414: 'key' => 'voucher_id',
7415: 'table' => 'voucher',
7416: 'field' => 'voucher_id'
7417: ],
7418: [
7419: 'key' => 'order_id',
7420: 'table' => 'order',
7421: 'field' => 'order_id'
7422: ]
7423: ],
7424: 'engine' => 'InnoDB',
7425: 'charset' => 'utf8mb4',
7426: 'collate' => 'utf8mb4_general_ci'
7427: ];
7428:
7429: $tables[] = [
7430: 'name' => 'voucher_theme',
7431: 'field' => [
7432: [
7433: 'name' => 'voucher_theme_id',
7434: 'type' => 'int(11)',
7435: 'auto_increment' => true
7436: ],
7437: [
7438: 'name' => 'image',
7439: 'type' => 'varchar(255)'
7440: ]
7441: ],
7442: 'primary' => [
7443: 'voucher_theme_id'
7444: ],
7445: 'engine' => 'InnoDB',
7446: 'charset' => 'utf8mb4',
7447: 'collate' => 'utf8mb4_general_ci'
7448: ];
7449:
7450: $tables[] = [
7451: 'name' => 'voucher_theme_description',
7452: 'field' => [
7453: [
7454: 'name' => 'voucher_theme_id',
7455: 'type' => 'int(11)'
7456: ],
7457: [
7458: 'name' => 'language_id',
7459: 'type' => 'int(11)'
7460: ],
7461: [
7462: 'name' => 'name',
7463: 'type' => 'varchar(32)'
7464: ]
7465: ],
7466: 'primary' => [
7467: 'voucher_theme_id',
7468: 'language_id'
7469: ],
7470: 'foreign' => [
7471: [
7472: 'key' => 'language_id',
7473: 'table' => 'language',
7474: 'field' => 'language_id'
7475: ]
7476: ],
7477: 'engine' => 'InnoDB',
7478: 'charset' => 'utf8mb4',
7479: 'collate' => 'utf8mb4_general_ci'
7480: ];
7481:
7482: $tables[] = [
7483: 'name' => 'weight_class',
7484: 'field' => [
7485: [
7486: 'name' => 'weight_class_id',
7487: 'type' => 'int(11)',
7488: 'auto_increment' => true
7489: ],
7490: [
7491: 'name' => 'value',
7492: 'type' => 'decimal(15,8)',
7493: 'default' => '0.00000000'
7494: ]
7495: ],
7496: 'primary' => [
7497: 'weight_class_id'
7498: ],
7499: 'engine' => 'InnoDB',
7500: 'charset' => 'utf8mb4',
7501: 'collate' => 'utf8mb4_general_ci'
7502: ];
7503:
7504: $tables[] = [
7505: 'name' => 'weight_class_description',
7506: 'field' => [
7507: [
7508: 'name' => 'weight_class_id',
7509: 'type' => 'int(11)'
7510: ],
7511: [
7512: 'name' => 'language_id',
7513: 'type' => 'int(11)'
7514: ],
7515: [
7516: 'name' => 'title',
7517: 'type' => 'varchar(32)'
7518: ],
7519: [
7520: 'name' => 'unit',
7521: 'type' => 'varchar(4)'
7522: ]
7523: ],
7524: 'primary' => [
7525: 'weight_class_id',
7526: 'language_id'
7527: ],
7528: 'foreign' => [
7529: [
7530: 'key' => 'language_id',
7531: 'table' => 'language',
7532: 'field' => 'language_id'
7533: ]
7534: ],
7535: 'engine' => 'InnoDB',
7536: 'charset' => 'utf8mb4',
7537: 'collate' => 'utf8mb4_general_ci'
7538: ];
7539:
7540: $tables[] = [
7541: 'name' => 'zone',
7542: 'field' => [
7543: [
7544: 'name' => 'zone_id',
7545: 'type' => 'int(11)',
7546: 'auto_increment' => true
7547: ],
7548: [
7549: 'name' => 'country_id',
7550: 'type' => 'int(11)'
7551: ],
7552: [
7553: 'name' => 'name',
7554: 'type' => 'varchar(128)'
7555: ],
7556: [
7557: 'name' => 'code',
7558: 'type' => 'varchar(32)'
7559: ],
7560: [
7561: 'name' => 'status',
7562: 'type' => 'tinyint(1)',
7563: 'default' => '1'
7564: ]
7565: ],
7566: 'primary' => [
7567: 'zone_id'
7568: ],
7569: 'foreign' => [
7570: [
7571: 'key' => 'country_id',
7572: 'table' => 'country',
7573: 'field' => 'country_id'
7574: ]
7575: ],
7576: 'engine' => 'InnoDB',
7577: 'charset' => 'utf8mb4',
7578: 'collate' => 'utf8mb4_general_ci'
7579: ];
7580:
7581: $tables[] = [
7582: 'name' => 'zone_to_geo_zone',
7583: 'field' => [
7584: [
7585: 'name' => 'zone_to_geo_zone_id',
7586: 'type' => 'int(11)',
7587: 'auto_increment' => true
7588: ],
7589: [
7590: 'name' => 'geo_zone_id',
7591: 'type' => 'int(11)'
7592: ],
7593: [
7594: 'name' => 'country_id',
7595: 'type' => 'int(11)'
7596: ],
7597: [
7598: 'name' => 'zone_id',
7599: 'type' => 'int(11)',
7600: 'default' => '0'
7601: ]
7602: ],
7603: 'primary' => [
7604: 'zone_to_geo_zone_id'
7605: ],
7606: 'foreign' => [
7607: [
7608: 'key' => 'geo_zone_id',
7609: 'table' => 'geo_zone',
7610: 'field' => 'geo_zone_id'
7611: ],
7612: [
7613: 'key' => 'country_id',
7614: 'table' => 'country',
7615: 'field' => 'country_id'
7616: ],
7617: [
7618: 'key' => 'zone_id',
7619: 'table' => 'zone',
7620: 'field' => 'zone_id'
7621: ]
7622: ],
7623: 'engine' => 'InnoDB',
7624: 'charset' => 'utf8mb4',
7625: 'collate' => 'utf8mb4_general_ci'
7626: ];
7627:
7628: return $tables;
7629: }
7630: