· 9 years ago · Jan 04, 2017, 11:22 AM
1-- ----------------------------------------------------------------------------
2-- MySQL Workbench Migration
3-- Migrated Schemata: bellatips
4-- Source Schemata: bellatips
5-- Created: Wed Jan 04 11:07:49 2017
6-- Workbench Version: 6.3.8
7-- ----------------------------------------------------------------------------
8
9SET FOREIGN_KEY_CHECKS = 0;
10
11-- ----------------------------------------------------------------------------
12-- Schema bellatips
13-- ----------------------------------------------------------------------------
14DROP SCHEMA IF EXISTS `bellatips` ;
15CREATE SCHEMA IF NOT EXISTS `bellatips` ;
16
17-- ----------------------------------------------------------------------------
18-- Table bellatips.actions_logs
19-- ----------------------------------------------------------------------------
20CREATE TABLE IF NOT EXISTS `bellatips`.`actions_logs` (
21 `id` BIGINT NOT NULL AUTO_INCREMENT,
22 `action` VARCHAR(20) NOT NULL,
23 `users_id` BIGINT NOT NULL,
24 `ip` VARCHAR(45) NOT NULL,
25 `creation_date` DATETIME NOT NULL,
26 PRIMARY KEY (`id`));
27
28-- ----------------------------------------------------------------------------
29-- Table bellatips.api_versions
30-- ----------------------------------------------------------------------------
31CREATE TABLE IF NOT EXISTS `bellatips`.`api_versions` (
32 `api_version` VARCHAR(6) NOT NULL,
33 `ios_app_min_version` VARCHAR(6) NOT NULL,
34 `android_app_min_version` VARCHAR(6) NOT NULL,
35 PRIMARY KEY (`api_version`));
36
37-- ----------------------------------------------------------------------------
38-- Table bellatips.app_market_versions
39-- ----------------------------------------------------------------------------
40CREATE TABLE IF NOT EXISTS `bellatips`.`app_market_versions` (
41 `os` VARCHAR(15) NOT NULL,
42 `version` VARCHAR(10) NOT NULL,
43 PRIMARY KEY (`os`));
44
45-- ----------------------------------------------------------------------------
46-- Table bellatips.banned_installations
47-- ----------------------------------------------------------------------------
48CREATE TABLE IF NOT EXISTS `bellatips`.`banned_installations` (
49 `installations_id` CHAR(32) NOT NULL,
50 `creation_date` DATETIME NOT NULL,
51 `reason` LONGTEXT NULL,
52 PRIMARY KEY (`installations_id`),
53 CONSTRAINT `banned_installations_installations_id_fkey`
54 FOREIGN KEY (`installations_id`)
55 REFERENCES `bellatips`.`installations` (`id`)
56 ON DELETE NO ACTION
57 ON UPDATE NO ACTION);
58
59-- ----------------------------------------------------------------------------
60-- Table bellatips.best_posts_weekly
61-- ----------------------------------------------------------------------------
62CREATE TABLE IF NOT EXISTS `bellatips`.`best_posts_weekly` (
63 `id` INT NOT NULL AUTO_INCREMENT,
64 `language` VARCHAR(15) NOT NULL,
65 `week` DATE NOT NULL,
66 `posts_ids` VARCHAR(100) NOT NULL,
67 PRIMARY KEY (`id`));
68
69-- ----------------------------------------------------------------------------
70-- Table bellatips.categories
71-- ----------------------------------------------------------------------------
72CREATE TABLE IF NOT EXISTS `bellatips`.`categories` (
73 `id` INT NOT NULL AUTO_INCREMENT,
74 `name` VARCHAR(50) NOT NULL,
75 `language` VARCHAR(15) NOT NULL,
76 `code` VARCHAR(50) NOT NULL,
77 `visible` TINYINT NOT NULL DEFAULT 1,
78 PRIMARY KEY (`id`),
79 UNIQUE INDEX `code_language_idx` (`language` ASC, `code` ASC));
80
81-- ----------------------------------------------------------------------------
82-- Table bellatips.comments
83-- ----------------------------------------------------------------------------
84CREATE TABLE IF NOT EXISTS `bellatips`.`comments` (
85 `id` BIGINT NOT NULL AUTO_INCREMENT,
86 `users_id` BIGINT NOT NULL,
87 `creation_date` DATETIME NOT NULL,
88 `content` LONGTEXT NOT NULL,
89 `num_pictures` SMALLINT NOT NULL DEFAULT 0,
90 `questions_id` BIGINT NOT NULL,
91 `num_likes` INT NOT NULL DEFAULT 0,
92 `is_accepted_comment` TINYINT NOT NULL DEFAULT 0,
93 `status` VARCHAR(10) NOT NULL DEFAULT 'draft',
94 `hash` CHAR(40) NOT NULL,
95 `attached_questions_id` BIGINT NULL,
96 PRIMARY KEY (`id`),
97 UNIQUE INDEX `accepted_comments_idx` (`questions_id` ASC, `is_accepted_comment` ASC),
98 CONSTRAINT `comments_attached_questions_id_fkey`
99 FOREIGN KEY (`attached_questions_id`)
100 REFERENCES `bellatips`.`questions` (`id`)
101 ON DELETE NO ACTION
102 ON UPDATE NO ACTION,
103 CONSTRAINT `comments_questions_id_fkey`
104 FOREIGN KEY (`questions_id`)
105 REFERENCES `bellatips`.`questions` (`id`)
106 ON DELETE NO ACTION
107 ON UPDATE NO ACTION,
108 CONSTRAINT `comments_users_id_fkey`
109 FOREIGN KEY (`users_id`)
110 REFERENCES `bellatips`.`users` (`id`)
111 ON DELETE NO ACTION
112 ON UPDATE NO ACTION);
113
114-- ----------------------------------------------------------------------------
115-- Table bellatips.comments_media_properties
116-- ----------------------------------------------------------------------------
117CREATE TABLE IF NOT EXISTS `bellatips`.`comments_media_properties` (
118 `comments_id` BIGINT NOT NULL,
119 `num_media` INT NOT NULL,
120 `type` VARCHAR(25) NOT NULL,
121 `width` INT NOT NULL,
122 `height` INT NOT NULL,
123 `creation_date` DATETIME NOT NULL,
124 PRIMARY KEY (`comments_id`, `num_media`),
125 CONSTRAINT `comments_media_properties_comments_id_fkey`
126 FOREIGN KEY (`comments_id`)
127 REFERENCES `bellatips`.`comments` (`id`)
128 ON DELETE NO ACTION
129 ON UPDATE NO ACTION);
130
131-- ----------------------------------------------------------------------------
132-- Table bellatips.comments_products
133-- ----------------------------------------------------------------------------
134CREATE TABLE IF NOT EXISTS `bellatips`.`comments_products` (
135 `id` INT NOT NULL AUTO_INCREMENT,
136 `comments_id` BIGINT NOT NULL,
137 `name` VARCHAR(256) NOT NULL,
138 `url` VARCHAR(512) NOT NULL,
139 `provider` VARCHAR(128) NULL,
140 `image_url` VARCHAR(512) NULL,
141 `enabled` TINYINT NOT NULL DEFAULT 0,
142 PRIMARY KEY (`id`),
143 INDEX `comments_products_idx` (`comments_id` ASC),
144 CONSTRAINT `comments_products_comments_id_fkey`
145 FOREIGN KEY (`comments_id`)
146 REFERENCES `bellatips`.`comments` (`id`)
147 ON DELETE NO ACTION
148 ON UPDATE NO ACTION);
149
150-- ----------------------------------------------------------------------------
151-- Table bellatips.comments_reports
152-- ----------------------------------------------------------------------------
153CREATE TABLE IF NOT EXISTS `bellatips`.`comments_reports` (
154 `id` BIGINT NOT NULL AUTO_INCREMENT,
155 `comments_id` BIGINT NOT NULL,
156 `users_id` BIGINT NOT NULL,
157 `option` VARCHAR(15) NULL,
158 `reason` LONGTEXT NULL,
159 `creation_date` DATETIME NOT NULL,
160 PRIMARY KEY (`id`),
161 CONSTRAINT `comments_reports_comments_id_fkey`
162 FOREIGN KEY (`comments_id`)
163 REFERENCES `bellatips`.`comments` (`id`)
164 ON DELETE NO ACTION
165 ON UPDATE NO ACTION,
166 CONSTRAINT `comments_reports_users_id_fkey`
167 FOREIGN KEY (`users_id`)
168 REFERENCES `bellatips`.`users` (`id`)
169 ON DELETE NO ACTION
170 ON UPDATE NO ACTION);
171
172-- ----------------------------------------------------------------------------
173-- Table bellatips.contact_form
174-- ----------------------------------------------------------------------------
175CREATE TABLE IF NOT EXISTS `bellatips`.`contact_form` (
176 `id` BIGINT NOT NULL AUTO_INCREMENT,
177 `name` VARCHAR(255) NOT NULL,
178 `email` VARCHAR(512) NOT NULL,
179 `message` LONGTEXT NOT NULL,
180 `creation_date` DATETIME NOT NULL,
181 PRIMARY KEY (`id`));
182
183-- ----------------------------------------------------------------------------
184-- Table bellatips.contacts
185-- ----------------------------------------------------------------------------
186CREATE TABLE IF NOT EXISTS `bellatips`.`contacts` (
187 `users_id_1` BIGINT NOT NULL,
188 `users_id_2` BIGINT NOT NULL,
189 `creation_date` DATETIME NOT NULL,
190 PRIMARY KEY (`users_id_1`, `users_id_2`),
191 CONSTRAINT `contacts_users_id_1_fkey`
192 FOREIGN KEY (`users_id_1`)
193 REFERENCES `bellatips`.`users` (`id`)
194 ON DELETE NO ACTION
195 ON UPDATE NO ACTION,
196 CONSTRAINT `contacts_users_id_2_fkey`
197 FOREIGN KEY (`users_id_2`)
198 REFERENCES `bellatips`.`users` (`id`)
199 ON DELETE NO ACTION
200 ON UPDATE NO ACTION);
201
202-- ----------------------------------------------------------------------------
203-- Table bellatips.devices
204-- ----------------------------------------------------------------------------
205CREATE TABLE IF NOT EXISTS `bellatips`.`devices` (
206 `id` BIGINT NOT NULL AUTO_INCREMENT,
207 `token` LONGTEXT NULL,
208 `os` VARCHAR(15) NULL,
209 `name` VARCHAR(512) NULL,
210 `last_notification` DATETIME NULL,
211 `unread_notifications` SMALLINT NOT NULL DEFAULT 0,
212 `language` VARCHAR(15) NOT NULL DEFAULT 'english',
213 `last_used` DATETIME NULL,
214 `app_version` VARCHAR(10) NULL,
215 `creation_date` DATETIME NOT NULL,
216 `country` CHAR(3) NULL,
217 PRIMARY KEY (`id`),
218 UNIQUE INDEX `devices_token_key` (`token`(255) ASC));
219
220-- ----------------------------------------------------------------------------
221-- Table bellatips.elasticsearch_events
222-- ----------------------------------------------------------------------------
223CREATE TABLE IF NOT EXISTS `bellatips`.`elasticsearch_events` (
224 `id` BIGINT NOT NULL AUTO_INCREMENT,
225 `index_name` VARCHAR(50) NOT NULL,
226 `type` VARCHAR(50) NOT NULL,
227 `document_id` VARCHAR(20) NOT NULL,
228 `creation_date` DATETIME NOT NULL,
229 PRIMARY KEY (`id`));
230
231-- ----------------------------------------------------------------------------
232-- Table bellatips.elasticsearch_indexations
233-- ----------------------------------------------------------------------------
234CREATE TABLE IF NOT EXISTS `bellatips`.`elasticsearch_indexations` (
235 `index_name` VARCHAR(50) NOT NULL,
236 `type` VARCHAR(50) NOT NULL,
237 `creation_date` DATETIME NOT NULL,
238 `num_documents` INT NOT NULL DEFAULT 0,
239 `num_updated_documents` INT NOT NULL DEFAULT 0,
240 `process_duration` INT NOT NULL DEFAULT 0,
241 PRIMARY KEY (`index_name`, `type`, `creation_date`));
242
243-- ----------------------------------------------------------------------------
244-- Table bellatips.facebook_uploaded
245-- ----------------------------------------------------------------------------
246CREATE TABLE IF NOT EXISTS `bellatips`.`facebook_uploaded` (
247 `questions_id` BIGINT NOT NULL,
248 PRIMARY KEY (`questions_id`));
249
250-- ----------------------------------------------------------------------------
251-- Table bellatips.flea_market_categories
252-- ----------------------------------------------------------------------------
253CREATE TABLE IF NOT EXISTS `bellatips`.`flea_market_categories` (
254 `id` INT NOT NULL AUTO_INCREMENT,
255 `code` VARCHAR(50) NOT NULL,
256 `name` VARCHAR(50) NOT NULL,
257 `language` VARCHAR(15) NOT NULL,
258 `visible` TINYINT NOT NULL DEFAULT 1,
259 PRIMARY KEY (`id`));
260
261-- ----------------------------------------------------------------------------
262-- Table bellatips.flea_market_products
263-- ----------------------------------------------------------------------------
264CREATE TABLE IF NOT EXISTS `bellatips`.`flea_market_products` (
265 `id` BIGINT NOT NULL AUTO_INCREMENT,
266 `users_id` BIGINT NOT NULL,
267 `name` VARCHAR(512) NOT NULL,
268 `description` LONGTEXT NOT NULL,
269 `price` DOUBLE NOT NULL,
270 `old_price` DOUBLE NULL,
271 `flea_market_categories_id` INT NOT NULL,
272 `creation_date` DATETIME NOT NULL,
273 `latitude` DOUBLE NOT NULL,
274 `longitude` DOUBLE NOT NULL,
275 `city` VARCHAR(256) NULL,
276 `postal_code` VARCHAR(15) NULL,
277 `country` CHAR(3) NOT NULL,
278 `enabled` TINYINT NOT NULL DEFAULT 1,
279 `shipment` TINYINT NULL,
280 `accept_trades` TINYINT NULL,
281 `firm_price` TINYINT NULL,
282 `reserved` TINYINT NOT NULL DEFAULT 0,
283 `sold` TINYINT NOT NULL DEFAULT 0,
284 `hash` CHAR(40) NOT NULL,
285 `status` VARCHAR(15) NOT NULL DEFAULT 'draft',
286 `language` VARCHAR(15) NOT NULL DEFAULT 'english',
287 `last_update` DATETIME NULL,
288 `sold_date` DATETIME NULL,
289 PRIMARY KEY (`id`),
290 CONSTRAINT `flea_market_products_flea_market_categories_id_fkey`
291 FOREIGN KEY (`flea_market_categories_id`)
292 REFERENCES `bellatips`.`flea_market_categories` (`id`)
293 ON DELETE NO ACTION
294 ON UPDATE NO ACTION,
295 CONSTRAINT `flea_market_products_users_id_fkey`
296 FOREIGN KEY (`users_id`)
297 REFERENCES `bellatips`.`users` (`id`)
298 ON DELETE NO ACTION
299 ON UPDATE NO ACTION);
300
301-- ----------------------------------------------------------------------------
302-- Table bellatips.flea_market_products_media_properties
303-- ----------------------------------------------------------------------------
304CREATE TABLE IF NOT EXISTS `bellatips`.`flea_market_products_media_properties` (
305 `flea_market_products_id` BIGINT NOT NULL,
306 `num_media` INT NOT NULL,
307 `type` VARCHAR(25) NOT NULL,
308 `width` INT NOT NULL,
309 `height` INT NOT NULL,
310 `creation_date` DATETIME NOT NULL,
311 PRIMARY KEY (`flea_market_products_id`, `num_media`),
312 CONSTRAINT `flea_market_products_media_propert_flea_market_products_id_fkey`
313 FOREIGN KEY (`flea_market_products_id`)
314 REFERENCES `bellatips`.`flea_market_products` (`id`)
315 ON DELETE NO ACTION
316 ON UPDATE NO ACTION);
317
318-- ----------------------------------------------------------------------------
319-- Table bellatips.flea_market_products_reports
320-- ----------------------------------------------------------------------------
321CREATE TABLE IF NOT EXISTS `bellatips`.`flea_market_products_reports` (
322 `id` BIGINT NOT NULL AUTO_INCREMENT,
323 `flea_market_products_id` BIGINT NOT NULL,
324 `users_id` BIGINT NOT NULL,
325 `option` VARCHAR(15) NULL,
326 `reason` LONGTEXT NULL,
327 `creation_date` DATETIME NOT NULL,
328 PRIMARY KEY (`id`),
329 CONSTRAINT `flea_market_products_reports_flea_market_products_id_fkey`
330 FOREIGN KEY (`flea_market_products_id`)
331 REFERENCES `bellatips`.`flea_market_products` (`id`)
332 ON DELETE NO ACTION
333 ON UPDATE NO ACTION,
334 CONSTRAINT `flea_market_products_reports_users_id_fkey`
335 FOREIGN KEY (`users_id`)
336 REFERENCES `bellatips`.`users` (`id`)
337 ON DELETE NO ACTION
338 ON UPDATE NO ACTION);
339
340-- ----------------------------------------------------------------------------
341-- Table bellatips.flea_market_products_transactions
342-- ----------------------------------------------------------------------------
343CREATE TABLE IF NOT EXISTS `bellatips`.`flea_market_products_transactions` (
344 `id` BIGINT NOT NULL AUTO_INCREMENT,
345 `flea_market_products_id` BIGINT NOT NULL,
346 `users_seller_id` BIGINT NOT NULL,
347 `users_buyer_id` BIGINT NOT NULL,
348 `price` DOUBLE NULL,
349 `creation_date` DATETIME NOT NULL,
350 PRIMARY KEY (`id`),
351 CONSTRAINT `flea_market_products_transactions_flea_market_products_id_fkey`
352 FOREIGN KEY (`flea_market_products_id`)
353 REFERENCES `bellatips`.`flea_market_products` (`id`)
354 ON DELETE NO ACTION
355 ON UPDATE NO ACTION,
356 CONSTRAINT `flea_market_products_transactions_users_buyer_id_fkey`
357 FOREIGN KEY (`users_buyer_id`)
358 REFERENCES `bellatips`.`users` (`id`)
359 ON DELETE NO ACTION
360 ON UPDATE NO ACTION,
361 CONSTRAINT `flea_market_products_transactions_users_seller_id_fkey`
362 FOREIGN KEY (`users_seller_id`)
363 REFERENCES `bellatips`.`users` (`id`)
364 ON DELETE NO ACTION
365 ON UPDATE NO ACTION);
366
367-- ----------------------------------------------------------------------------
368-- Table bellatips.flea_market_users_reviews
369-- ----------------------------------------------------------------------------
370CREATE TABLE IF NOT EXISTS `bellatips`.`flea_market_users_reviews` (
371 `id` BIGINT NOT NULL AUTO_INCREMENT,
372 `flea_market_products_id` BIGINT NOT NULL,
373 `users_reviewed_id` BIGINT NOT NULL,
374 `users_id` BIGINT NOT NULL,
375 `action` VARCHAR(15) NOT NULL,
376 `score` INT NOT NULL,
377 `review` LONGTEXT NULL,
378 `creation_date` DATETIME NOT NULL,
379 PRIMARY KEY (`id`),
380 CONSTRAINT `flea_market_users_reviews_flea_market_products_id_fkey`
381 FOREIGN KEY (`flea_market_products_id`)
382 REFERENCES `bellatips`.`flea_market_products` (`id`)
383 ON DELETE NO ACTION
384 ON UPDATE NO ACTION,
385 CONSTRAINT `flea_market_users_reviews_users_id_fkey`
386 FOREIGN KEY (`users_id`)
387 REFERENCES `bellatips`.`users` (`id`)
388 ON DELETE NO ACTION
389 ON UPDATE NO ACTION,
390 CONSTRAINT `flea_market_users_reviews_users_reviewed_id_fkey`
391 FOREIGN KEY (`users_reviewed_id`)
392 REFERENCES `bellatips`.`users` (`id`)
393 ON DELETE NO ACTION
394 ON UPDATE NO ACTION);
395
396-- ----------------------------------------------------------------------------
397-- Table bellatips.instagram_uploaded
398-- ----------------------------------------------------------------------------
399CREATE TABLE IF NOT EXISTS `bellatips`.`instagram_uploaded` (
400 `questions_id` BIGINT NOT NULL,
401 PRIMARY KEY (`questions_id`));
402
403-- ----------------------------------------------------------------------------
404-- Table bellatips.installations
405-- ----------------------------------------------------------------------------
406CREATE TABLE IF NOT EXISTS `bellatips`.`installations` (
407 `id` CHAR(32) NOT NULL,
408 `creation_date` DATETIME NOT NULL,
409 `os` VARCHAR(15) NOT NULL,
410 `campaign` VARCHAR(255) NULL,
411 `channel` VARCHAR(255) NULL,
412 `country` CHAR(3) NOT NULL,
413 `last_used` DATETIME NULL,
414 PRIMARY KEY (`id`));
415
416-- ----------------------------------------------------------------------------
417-- Table bellatips.installations_reviews
418-- ----------------------------------------------------------------------------
419CREATE TABLE IF NOT EXISTS `bellatips`.`installations_reviews` (
420 `installations_id` CHAR(32) NOT NULL,
421 `users_id` BIGINT NULL,
422 `review` LONGTEXT NOT NULL,
423 `creation_date` DATETIME NOT NULL,
424 PRIMARY KEY (`installations_id`),
425 CONSTRAINT `installations_reviews_installations_id_fkey`
426 FOREIGN KEY (`installations_id`)
427 REFERENCES `bellatips`.`installations` (`id`)
428 ON DELETE NO ACTION
429 ON UPDATE NO ACTION,
430 CONSTRAINT `installations_reviews_users_id_fkey`
431 FOREIGN KEY (`users_id`)
432 REFERENCES `bellatips`.`users` (`id`)
433 ON DELETE NO ACTION
434 ON UPDATE NO ACTION);
435
436-- ----------------------------------------------------------------------------
437-- Table bellatips.invitations
438-- ----------------------------------------------------------------------------
439CREATE TABLE IF NOT EXISTS `bellatips`.`invitations` (
440 `email` VARCHAR(255) NOT NULL,
441 `send` TINYINT NOT NULL DEFAULT 0,
442 PRIMARY KEY (`email`));
443
444-- ----------------------------------------------------------------------------
445-- Table bellatips.karma_actions
446-- ----------------------------------------------------------------------------
447CREATE TABLE IF NOT EXISTS `bellatips`.`karma_actions` (
448 `id` SMALLINT NOT NULL AUTO_INCREMENT,
449 `name` VARCHAR(50) NOT NULL,
450 `points` SMALLINT NOT NULL,
451 `max_actions_per_day` INT NOT NULL DEFAULT 0,
452 `url` VARCHAR(255) NOT NULL,
453 `group_name` VARCHAR(50) NOT NULL,
454 `ordering` SMALLINT NOT NULL,
455 PRIMARY KEY (`id`),
456 UNIQUE INDEX `karma_actions_name_key` (`name` ASC));
457
458-- ----------------------------------------------------------------------------
459-- Table bellatips.karma_logs
460-- ----------------------------------------------------------------------------
461CREATE TABLE IF NOT EXISTS `bellatips`.`karma_logs` (
462 `id` BIGINT NOT NULL AUTO_INCREMENT,
463 `users_id` BIGINT NOT NULL,
464 `karma_actions_id` SMALLINT NOT NULL,
465 `creation_date` DATETIME NOT NULL,
466 `points` SMALLINT NOT NULL,
467 `data` LONGTEXT NULL,
468 `item_id` BIGINT NULL,
469 `removed_points` SMALLINT NOT NULL DEFAULT 0,
470 PRIMARY KEY (`id`),
471 CONSTRAINT `karma_logs_karma_actions_id_fkey`
472 FOREIGN KEY (`karma_actions_id`)
473 REFERENCES `bellatips`.`karma_actions` (`id`)
474 ON DELETE NO ACTION
475 ON UPDATE NO ACTION,
476 CONSTRAINT `karma_logs_users_id_fkey`
477 FOREIGN KEY (`users_id`)
478 REFERENCES `bellatips`.`users` (`id`)
479 ON DELETE NO ACTION
480 ON UPDATE NO ACTION);
481
482-- ----------------------------------------------------------------------------
483-- Table bellatips.karma_rewards
484-- ----------------------------------------------------------------------------
485CREATE TABLE IF NOT EXISTS `bellatips`.`karma_rewards` (
486 `id` INT NOT NULL AUTO_INCREMENT,
487 `language` VARCHAR(15) NOT NULL,
488 `min_points` INT NOT NULL,
489 `name` VARCHAR(150) NOT NULL,
490 `short_description` VARCHAR(255) NOT NULL,
491 `long_description` LONGTEXT NOT NULL,
492 `logo_url` VARCHAR(512) NOT NULL,
493 `image_url` VARCHAR(512) NOT NULL,
494 `help_image_url` VARCHAR(512) NOT NULL,
495 `android_package_name` VARCHAR(255) NULL,
496 `ios_app_id` VARCHAR(255) NULL,
497 `url` VARCHAR(512) NULL,
498 `phone_number` VARCHAR(50) NULL,
499 `discount_code` VARCHAR(255) NULL,
500 `max_times` INT NOT NULL DEFAULT 0,
501 `type` VARCHAR(50) NOT NULL,
502 `enabled` TINYINT NOT NULL DEFAULT 0,
503 `start_date` DATETIME NULL,
504 `end_date` DATETIME NULL,
505 `ordering` INT NOT NULL,
506 PRIMARY KEY (`id`));
507
508-- ----------------------------------------------------------------------------
509-- Table bellatips.karma_rewards_codes
510-- ----------------------------------------------------------------------------
511CREATE TABLE IF NOT EXISTS `bellatips`.`karma_rewards_codes` (
512 `karma_rewards_id` INT NOT NULL,
513 `code` VARCHAR(255) NOT NULL,
514 `used` TINYINT NOT NULL DEFAULT 0,
515 `redeemed` TINYINT NOT NULL DEFAULT 0,
516 PRIMARY KEY (`karma_rewards_id`, `code`),
517 CONSTRAINT `karma_rewards_codes_karma_rewards_id_fkey`
518 FOREIGN KEY (`karma_rewards_id`)
519 REFERENCES `bellatips`.`karma_rewards` (`id`)
520 ON DELETE NO ACTION
521 ON UPDATE NO ACTION);
522
523-- ----------------------------------------------------------------------------
524-- Table bellatips.karma_rewards_redeemed_data
525-- ----------------------------------------------------------------------------
526CREATE TABLE IF NOT EXISTS `bellatips`.`karma_rewards_redeemed_data` (
527 `id` BIGINT NOT NULL AUTO_INCREMENT,
528 `name` VARCHAR(512) NOT NULL,
529 `email` VARCHAR(512) NOT NULL,
530 `address` VARCHAR(512) NOT NULL,
531 `coupon_code` VARCHAR(512) NOT NULL,
532 `sent` TINYINT NOT NULL DEFAULT 0,
533 PRIMARY KEY (`id`));
534
535-- ----------------------------------------------------------------------------
536-- Table bellatips.legal_texts
537-- ----------------------------------------------------------------------------
538CREATE TABLE IF NOT EXISTS `bellatips`.`legal_texts` (
539 `language` VARCHAR(15) NOT NULL,
540 `terms` LONGTEXT NULL,
541 `privacy` LONGTEXT NULL,
542 `about` LONGTEXT NULL,
543 PRIMARY KEY (`language`));
544
545-- ----------------------------------------------------------------------------
546-- Table bellatips.likes
547-- ----------------------------------------------------------------------------
548CREATE TABLE IF NOT EXISTS `bellatips`.`likes` (
549 `id` BIGINT NOT NULL AUTO_INCREMENT,
550 `users_id` BIGINT NOT NULL,
551 `questions_id` BIGINT NULL,
552 `comments_id` BIGINT NULL,
553 `creation_date` DATETIME NOT NULL,
554 PRIMARY KEY (`id`),
555 INDEX `comments_likes_idx` (`comments_id` ASC, `creation_date` ASC),
556 UNIQUE INDEX `comments_users_unique_idx` (`users_id` ASC, `comments_id` ASC),
557 INDEX `questions_likes_idx` (`questions_id` ASC, `creation_date` ASC),
558 UNIQUE INDEX `questions_users_unique_idx` (`users_id` ASC, `questions_id` ASC),
559 CONSTRAINT `likes_comments_id_fkey`
560 FOREIGN KEY (`comments_id`)
561 REFERENCES `bellatips`.`comments` (`id`)
562 ON DELETE NO ACTION
563 ON UPDATE NO ACTION,
564 CONSTRAINT `likes_questions_id_fkey`
565 FOREIGN KEY (`questions_id`)
566 REFERENCES `bellatips`.`questions` (`id`)
567 ON DELETE NO ACTION
568 ON UPDATE NO ACTION,
569 CONSTRAINT `likes_users_id_fkey`
570 FOREIGN KEY (`users_id`)
571 REFERENCES `bellatips`.`users` (`id`)
572 ON DELETE NO ACTION
573 ON UPDATE NO ACTION);
574
575-- ----------------------------------------------------------------------------
576-- Table bellatips.medals
577-- ----------------------------------------------------------------------------
578CREATE TABLE IF NOT EXISTS `bellatips`.`medals` (
579 `id` INT NOT NULL AUTO_INCREMENT,
580 `name` VARCHAR(50) NOT NULL,
581 `url` VARCHAR(512) NOT NULL,
582 `ranking` INT NOT NULL DEFAULT 0,
583 `enabled` TINYINT NOT NULL DEFAULT 0,
584 `ordering` INT NOT NULL,
585 PRIMARY KEY (`id`),
586 UNIQUE INDEX `medals_name_key` (`name` ASC));
587
588-- ----------------------------------------------------------------------------
589-- Table bellatips.newsletter_initial
590-- ----------------------------------------------------------------------------
591CREATE TABLE IF NOT EXISTS `bellatips`.`newsletter_initial` (
592 `email` VARCHAR(512) NOT NULL,
593 `contacted` TINYINT NULL DEFAULT 0,
594 `active` TINYINT NOT NULL DEFAULT 1,
595 PRIMARY KEY (`email`(255)));
596
597-- ----------------------------------------------------------------------------
598-- Table bellatips.notifications
599-- ----------------------------------------------------------------------------
600CREATE TABLE IF NOT EXISTS `bellatips`.`notifications` (
601 `id` INT NOT NULL AUTO_INCREMENT,
602 `name` VARCHAR(50) NOT NULL,
603 PRIMARY KEY (`id`),
604 UNIQUE INDEX `notifications_name_key` (`name` ASC));
605
606-- ----------------------------------------------------------------------------
607-- Table bellatips.notifications_queue
608-- ----------------------------------------------------------------------------
609CREATE TABLE IF NOT EXISTS `bellatips`.`notifications_queue` (
610 `id` BIGINT NOT NULL AUTO_INCREMENT,
611 `creation_date` DATETIME NOT NULL,
612 `type` VARCHAR(50) NOT NULL,
613 `data` LONGTEXT NOT NULL,
614 `email_sent` TINYINT NOT NULL DEFAULT 0,
615 `android_sent` TINYINT NOT NULL DEFAULT 0,
616 `ios_sent` TINYINT NOT NULL DEFAULT 0,
617 `num_processed` INT NOT NULL DEFAULT 0,
618 `zombie` TINYINT NOT NULL DEFAULT 0,
619 `minimum_send_date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
620 PRIMARY KEY (`id`));
621
622-- ----------------------------------------------------------------------------
623-- Table bellatips.notifications_stats
624-- ----------------------------------------------------------------------------
625CREATE TABLE IF NOT EXISTS `bellatips`.`notifications_stats` (
626 `date` DATE NOT NULL,
627 `type` VARCHAR(50) NOT NULL,
628 `platform` VARCHAR(10) NOT NULL,
629 `counter` INT NOT NULL DEFAULT 0,
630 PRIMARY KEY (`date`, `type`, `platform`));
631
632-- ----------------------------------------------------------------------------
633-- Table bellatips.pinterest_uploaded
634-- ----------------------------------------------------------------------------
635CREATE TABLE IF NOT EXISTS `bellatips`.`pinterest_uploaded` (
636 `questions_id` BIGINT NOT NULL,
637 PRIMARY KEY (`questions_id`));
638
639-- ----------------------------------------------------------------------------
640-- Table bellatips.places
641-- ----------------------------------------------------------------------------
642CREATE TABLE IF NOT EXISTS `bellatips`.`places` (
643 `id` BIGINT NOT NULL AUTO_INCREMENT,
644 `name` VARCHAR(255) NOT NULL,
645 `street` VARCHAR(512) NULL,
646 `city` VARCHAR(100) NULL,
647 `state` VARCHAR(100) NULL,
648 `country` VARCHAR(100) NULL,
649 `zip` VARCHAR(15) NULL,
650 `phone_number` VARCHAR(25) NULL,
651 `latitude` DOUBLE NULL,
652 `longitude` DOUBLE NULL,
653 `category` VARCHAR(50) NULL,
654 `source` VARCHAR(15) NULL,
655 `source_id` VARCHAR(128) NULL,
656 `source_category` VARCHAR(128) NULL,
657 `creation_date` DATETIME NULL,
658 `users_id` BIGINT NULL,
659 PRIMARY KEY (`id`),
660 UNIQUE INDEX `places_source_source_id_idx` (`source` ASC, `source_id` ASC),
661 CONSTRAINT `places_users_id_fkey`
662 FOREIGN KEY (`users_id`)
663 REFERENCES `bellatips`.`users` (`id`)
664 ON DELETE NO ACTION
665 ON UPDATE NO ACTION);
666
667-- ----------------------------------------------------------------------------
668-- Table bellatips.products
669-- ----------------------------------------------------------------------------
670CREATE TABLE IF NOT EXISTS `bellatips`.`products` (
671 `id` VARCHAR(32) NOT NULL,
672 `name` VARCHAR(512) NOT NULL,
673 `description` LONGTEXT NOT NULL,
674 `url` VARCHAR(512) NOT NULL,
675 `provider` VARCHAR(128) NULL,
676 `manufacturer` VARCHAR(128) NULL,
677 `price` DECIMAL(10,2) NULL,
678 `image_url` LONGTEXT NULL,
679 `tsv` LONGTEXT NULL,
680 `original_price` DECIMAL(10,2) NULL,
681 `category` VARCHAR(128) NULL,
682 `subcategory` VARCHAR(128) NULL,
683 `country` VARCHAR(50) NULL,
684 `last_update` DATETIME NOT NULL,
685 `sale` TINYINT NOT NULL DEFAULT 0,
686 `currency` CHAR(3) NOT NULL DEFAULT 'EUR',
687 `next_delete` TINYINT NOT NULL DEFAULT 0,
688 PRIMARY KEY (`id`));
689
690-- ----------------------------------------------------------------------------
691-- Table bellatips.products_providers
692-- ----------------------------------------------------------------------------
693CREATE TABLE IF NOT EXISTS `bellatips`.`products_providers` (
694 `id` INT NOT NULL AUTO_INCREMENT,
695 `name` VARCHAR(100) NOT NULL,
696 `url` LONGTEXT NOT NULL,
697 `enabled` TINYINT NOT NULL DEFAULT 1,
698 `provider` VARCHAR(50) NOT NULL,
699 `category` VARCHAR(128) NULL,
700 `country` VARCHAR(50) NULL,
701 PRIMARY KEY (`id`));
702
703-- ----------------------------------------------------------------------------
704-- Table bellatips.query_logs
705-- ----------------------------------------------------------------------------
706CREATE TABLE IF NOT EXISTS `bellatips`.`query_logs` (
707 `id` BIGINT NOT NULL AUTO_INCREMENT,
708 `query` VARCHAR(255) NOT NULL,
709 `ip` VARCHAR(45) NOT NULL,
710 `token` CHAR(40) NULL,
711 `post_data` LONGTEXT NULL,
712 `response_status` INT NOT NULL,
713 `creation_date` DATETIME NOT NULL,
714 PRIMARY KEY (`id`));
715
716-- ----------------------------------------------------------------------------
717-- Table bellatips.questions
718-- ----------------------------------------------------------------------------
719CREATE TABLE IF NOT EXISTS `bellatips`.`questions` (
720 `id` BIGINT NOT NULL AUTO_INCREMENT,
721 `users_id` BIGINT NOT NULL,
722 `creation_date` DATETIME NOT NULL,
723 `title` VARCHAR(512) NOT NULL,
724 `content` LONGTEXT NULL,
725 `num_pictures` SMALLINT NOT NULL DEFAULT 0,
726 `urgent` TINYINT NOT NULL DEFAULT 0,
727 `private` TINYINT NOT NULL DEFAULT 0,
728 `num_comments` INT NOT NULL DEFAULT 0,
729 `num_likes` INT NOT NULL DEFAULT 0,
730 `has_accepted_comment` TINYINT NOT NULL DEFAULT 0,
731 `language` VARCHAR(15) NOT NULL DEFAULT 'english',
732 `hash` CHAR(40) NOT NULL,
733 `status` VARCHAR(10) NOT NULL DEFAULT 'draft',
734 `categories_id` INT NOT NULL,
735 `type` VARCHAR(10) NOT NULL DEFAULT 'question',
736 `last_update` DATETIME NOT NULL,
737 `last_update_data` LONGTEXT NULL,
738 `num_views` BIGINT NOT NULL DEFAULT 0,
739 `custom_frontpage` TINYINT NOT NULL DEFAULT 1,
740 `moved_to_app` VARCHAR(25) NULL,
741 `has_share_url` TINYINT NOT NULL DEFAULT 0,
742 `country` CHAR(3) NULL,
743 PRIMARY KEY (`id`),
744 INDEX `questions_last_update_idx` (`last_update` ASC),
745 CONSTRAINT `questions_categories_id_fkey`
746 FOREIGN KEY (`categories_id`)
747 REFERENCES `bellatips`.`categories` (`id`)
748 ON DELETE NO ACTION
749 ON UPDATE NO ACTION,
750 CONSTRAINT `questions_users_id_fkey`
751 FOREIGN KEY (`users_id`)
752 REFERENCES `bellatips`.`users` (`id`)
753 ON DELETE NO ACTION
754 ON UPDATE NO ACTION);
755
756-- ----------------------------------------------------------------------------
757-- Table bellatips.questions_media_properties
758-- ----------------------------------------------------------------------------
759CREATE TABLE IF NOT EXISTS `bellatips`.`questions_media_properties` (
760 `questions_id` BIGINT NOT NULL,
761 `num_media` INT NOT NULL,
762 `type` VARCHAR(25) NOT NULL,
763 `width` INT NOT NULL,
764 `height` INT NOT NULL,
765 `creation_date` DATETIME NOT NULL,
766 PRIMARY KEY (`questions_id`, `num_media`),
767 CONSTRAINT `questions_media_properties_questions_id_fkey`
768 FOREIGN KEY (`questions_id`)
769 REFERENCES `bellatips`.`questions` (`id`)
770 ON DELETE NO ACTION
771 ON UPDATE NO ACTION);
772
773-- ----------------------------------------------------------------------------
774-- Table bellatips.questions_places
775-- ----------------------------------------------------------------------------
776CREATE TABLE IF NOT EXISTS `bellatips`.`questions_places` (
777 `questions_id` BIGINT NOT NULL,
778 `places_id` BIGINT NOT NULL,
779 PRIMARY KEY (`questions_id`, `places_id`),
780 CONSTRAINT `questions_places_places_id_fkey`
781 FOREIGN KEY (`places_id`)
782 REFERENCES `bellatips`.`places` (`id`)
783 ON DELETE NO ACTION
784 ON UPDATE NO ACTION,
785 CONSTRAINT `questions_places_questions_id_fkey`
786 FOREIGN KEY (`questions_id`)
787 REFERENCES `bellatips`.`questions` (`id`)
788 ON DELETE NO ACTION
789 ON UPDATE NO ACTION);
790
791-- ----------------------------------------------------------------------------
792-- Table bellatips.questions_products
793-- ----------------------------------------------------------------------------
794CREATE TABLE IF NOT EXISTS `bellatips`.`questions_products` (
795 `id` INT NOT NULL AUTO_INCREMENT,
796 `questions_id` BIGINT NOT NULL,
797 `name` VARCHAR(256) NOT NULL,
798 `url` VARCHAR(512) NOT NULL,
799 `provider` VARCHAR(128) NULL,
800 `image_url` VARCHAR(512) NULL,
801 `enabled` TINYINT NOT NULL DEFAULT 0,
802 PRIMARY KEY (`id`),
803 INDEX `questions_products_idx` (`questions_id` ASC),
804 CONSTRAINT `questions_products_questions_id_fkey`
805 FOREIGN KEY (`questions_id`)
806 REFERENCES `bellatips`.`questions` (`id`)
807 ON DELETE NO ACTION
808 ON UPDATE NO ACTION);
809
810-- ----------------------------------------------------------------------------
811-- Table bellatips.questions_reports
812-- ----------------------------------------------------------------------------
813CREATE TABLE IF NOT EXISTS `bellatips`.`questions_reports` (
814 `id` BIGINT NOT NULL AUTO_INCREMENT,
815 `questions_id` BIGINT NOT NULL,
816 `users_id` BIGINT NOT NULL,
817 `option` VARCHAR(15) NULL,
818 `reason` LONGTEXT NULL,
819 `creation_date` DATETIME NOT NULL,
820 `treated` TINYINT NOT NULL DEFAULT 0,
821 PRIMARY KEY (`id`),
822 CONSTRAINT `questions_reports_questions_id_fkey`
823 FOREIGN KEY (`questions_id`)
824 REFERENCES `bellatips`.`questions` (`id`)
825 ON DELETE NO ACTION
826 ON UPDATE NO ACTION,
827 CONSTRAINT `questions_reports_users_id_fkey`
828 FOREIGN KEY (`users_id`)
829 REFERENCES `bellatips`.`users` (`id`)
830 ON DELETE NO ACTION
831 ON UPDATE NO ACTION);
832
833-- ----------------------------------------------------------------------------
834-- Table bellatips.questions_tags
835-- ----------------------------------------------------------------------------
836CREATE TABLE IF NOT EXISTS `bellatips`.`questions_tags` (
837 `questions_id` BIGINT NOT NULL,
838 `tags_id` BIGINT NOT NULL,
839 PRIMARY KEY (`questions_id`, `tags_id`),
840 INDEX `tags_idx` (`tags_id` ASC),
841 CONSTRAINT `questions_tags_questions_id_fkey`
842 FOREIGN KEY (`questions_id`)
843 REFERENCES `bellatips`.`questions` (`id`)
844 ON DELETE NO ACTION
845 ON UPDATE NO ACTION,
846 CONSTRAINT `questions_tags_tags_id_fkey`
847 FOREIGN KEY (`tags_id`)
848 REFERENCES `bellatips`.`tags` (`id`)
849 ON DELETE NO ACTION
850 ON UPDATE NO ACTION);
851
852-- ----------------------------------------------------------------------------
853-- Table bellatips.questions_votes
854-- ----------------------------------------------------------------------------
855CREATE TABLE IF NOT EXISTS `bellatips`.`questions_votes` (
856 `id` BIGINT NOT NULL AUTO_INCREMENT,
857 `questions_id` BIGINT NOT NULL,
858 `users_id` BIGINT NOT NULL,
859 `creation_date` DATETIME NOT NULL,
860 `option` CHAR(1) NOT NULL,
861 PRIMARY KEY (`id`),
862 UNIQUE INDEX `user_votes_idx` (`questions_id` ASC, `users_id` ASC),
863 CONSTRAINT `questions_votes_questions_id_fkey`
864 FOREIGN KEY (`questions_id`)
865 REFERENCES `bellatips`.`questions` (`id`)
866 ON DELETE NO ACTION
867 ON UPDATE NO ACTION,
868 CONSTRAINT `questions_votes_users_id_fkey`
869 FOREIGN KEY (`users_id`)
870 REFERENCES `bellatips`.`users` (`id`)
871 ON DELETE NO ACTION
872 ON UPDATE NO ACTION);
873
874-- ----------------------------------------------------------------------------
875-- Table bellatips.redirections_to_store
876-- ----------------------------------------------------------------------------
877CREATE TABLE IF NOT EXISTS `bellatips`.`redirections_to_store` (
878 `origin` VARCHAR(25) NOT NULL,
879 `os` VARCHAR(15) NOT NULL,
880 `url` VARCHAR(512) NOT NULL,
881 PRIMARY KEY (`origin`, `os`));
882
883-- ----------------------------------------------------------------------------
884-- Table bellatips.splash_texts
885-- ----------------------------------------------------------------------------
886CREATE TABLE IF NOT EXISTS `bellatips`.`splash_texts` (
887 `id` INT NOT NULL AUTO_INCREMENT,
888 `os` VARCHAR(15) NULL,
889 `content` LONGTEXT NULL,
890 `inapp_url` VARCHAR(512) NULL,
891 `enabled` TINYINT NOT NULL DEFAULT 0,
892 `language` VARCHAR(15) NOT NULL DEFAULT 'spanish',
893 `min_version` VARCHAR(10) NULL,
894 `max_version` VARCHAR(10) NULL,
895 `valid_until` DATE NULL,
896 `num_days_after_creation` INT NULL,
897 PRIMARY KEY (`id`));
898
899-- ----------------------------------------------------------------------------
900-- Table bellatips.subcategories
901-- ----------------------------------------------------------------------------
902CREATE TABLE IF NOT EXISTS `bellatips`.`subcategories` (
903 `id` SMALLINT NOT NULL AUTO_INCREMENT,
904 `name` VARCHAR(255) NOT NULL,
905 `code` VARCHAR(255) NOT NULL,
906 `language` VARCHAR(15) NOT NULL DEFAULT 'english',
907 `visible` TINYINT NOT NULL DEFAULT 0,
908 PRIMARY KEY (`id`));
909
910-- ----------------------------------------------------------------------------
911-- Table bellatips.tags
912-- ----------------------------------------------------------------------------
913CREATE TABLE IF NOT EXISTS `bellatips`.`tags` (
914 `id` BIGINT NOT NULL AUTO_INCREMENT,
915 `name` VARCHAR(50) NOT NULL,
916 `creation_date` DATETIME NOT NULL,
917 PRIMARY KEY (`id`),
918 UNIQUE INDEX `tags_name_key` (`name` ASC));
919
920-- ----------------------------------------------------------------------------
921-- Table bellatips.timeline
922-- ----------------------------------------------------------------------------
923CREATE TABLE IF NOT EXISTS `bellatips`.`timeline` (
924 `id` BIGINT NOT NULL AUTO_INCREMENT,
925 `users_id` BIGINT NOT NULL,
926 `creation_date` DATETIME NOT NULL,
927 `name` VARCHAR(50) NOT NULL,
928 `questions_hash` CHAR(40) NULL,
929 `questions_title` VARCHAR(100) NULL,
930 `questions_type` VARCHAR(50) NULL,
931 `comments_hash` CHAR(40) NULL,
932 `comments_content` LONGTEXT NULL,
933 `username` VARCHAR(255) NULL,
934 `medals_name` VARCHAR(50) NULL,
935 PRIMARY KEY (`id`),
936 INDEX `timeline_question_has_idx` (`questions_hash` ASC),
937 INDEX `timeline_store_query_idx` (`users_id` ASC, `name` ASC, `questions_hash` ASC, `username` ASC),
938 INDEX `timeline_users_id_idx` (`id` ASC, `users_id` ASC),
939 INDEX `timeline_users_idx` (`users_id` ASC));
940
941-- ----------------------------------------------------------------------------
942-- Table bellatips.timeline_users_last_read
943-- ----------------------------------------------------------------------------
944CREATE TABLE IF NOT EXISTS `bellatips`.`timeline_users_last_read` (
945 `users_id` BIGINT NOT NULL,
946 `last_item_read` BIGINT NOT NULL,
947 PRIMARY KEY (`users_id`),
948 CONSTRAINT `timeline_users_last_read_users_id_fkey`
949 FOREIGN KEY (`users_id`)
950 REFERENCES `bellatips`.`users` (`id`)
951 ON DELETE NO ACTION
952 ON UPDATE NO ACTION);
953
954-- ----------------------------------------------------------------------------
955-- Table bellatips.twitter_uploaded
956-- ----------------------------------------------------------------------------
957CREATE TABLE IF NOT EXISTS `bellatips`.`twitter_uploaded` (
958 `questions_id` BIGINT NOT NULL,
959 PRIMARY KEY (`questions_id`));
960
961-- ----------------------------------------------------------------------------
962-- Table bellatips.uninstalled_devices
963-- ----------------------------------------------------------------------------
964CREATE TABLE IF NOT EXISTS `bellatips`.`uninstalled_devices` (
965 `id` BIGINT NOT NULL AUTO_INCREMENT,
966 `token` LONGTEXT NULL,
967 `os` VARCHAR(15) NULL,
968 `name` VARCHAR(512) NULL,
969 `last_notification` DATETIME NULL,
970 `unread_notifications` SMALLINT NOT NULL DEFAULT 0,
971 `language` VARCHAR(15) NOT NULL DEFAULT 'english',
972 `last_used` DATETIME NULL,
973 `app_version` VARCHAR(10) NULL,
974 `uninstallation_date` DATETIME NOT NULL,
975 `creation_date` DATETIME NOT NULL,
976 `original_id` BIGINT NULL,
977 `original_users_id` BIGINT NULL,
978 PRIMARY KEY (`id`),
979 UNIQUE INDEX `uninstalled_devices_token_key` (`token`(255) ASC));
980
981-- ----------------------------------------------------------------------------
982-- Table bellatips.users
983-- ----------------------------------------------------------------------------
984CREATE TABLE IF NOT EXISTS `bellatips`.`users` (
985 `id` BIGINT NOT NULL,
986 `creation_date` DATETIME NOT NULL,
987 `karma` INT NOT NULL DEFAULT 0,
988 `username` VARCHAR(255) NOT NULL,
989 `language` VARCHAR(15) NOT NULL DEFAULT 'english',
990 `interests` VARCHAR(512) NULL,
991 `facebook_id` BIGINT NULL,
992 `has_picture` TINYINT NOT NULL DEFAULT 0,
993 `medals_id` INT NULL,
994 `level` VARCHAR(50) NOT NULL DEFAULT 'level_4',
995 PRIMARY KEY (`id`),
996 INDEX `user_points_idx` (`karma` ASC),
997 UNIQUE INDEX `users_username_key` (`username` ASC),
998 CONSTRAINT `users_medals_id_fkey`
999 FOREIGN KEY (`medals_id`)
1000 REFERENCES `bellatips`.`medals` (`id`)
1001 ON DELETE NO ACTION
1002 ON UPDATE NO ACTION);
1003
1004-- ----------------------------------------------------------------------------
1005-- Table bellatips.users_checkin_streak
1006-- ----------------------------------------------------------------------------
1007CREATE TABLE IF NOT EXISTS `bellatips`.`users_checkin_streak` (
1008 `users_id` BIGINT NOT NULL,
1009 `first_checkin` DATE NOT NULL,
1010 `last_checkin` DATE NOT NULL,
1011 PRIMARY KEY (`users_id`),
1012 CONSTRAINT `users_checkin_streak_users_id_fkey`
1013 FOREIGN KEY (`users_id`)
1014 REFERENCES `bellatips`.`users` (`id`)
1015 ON DELETE NO ACTION
1016 ON UPDATE NO ACTION);
1017
1018-- ----------------------------------------------------------------------------
1019-- Table bellatips.users_contests
1020-- ----------------------------------------------------------------------------
1021CREATE TABLE IF NOT EXISTS `bellatips`.`users_contests` (
1022 `contest` VARCHAR(15) NOT NULL,
1023 `users_id` BIGINT NOT NULL,
1024 PRIMARY KEY (`contest`, `users_id`),
1025 CONSTRAINT `users_contests_users_id_fkey`
1026 FOREIGN KEY (`users_id`)
1027 REFERENCES `bellatips`.`users` (`id`)
1028 ON DELETE NO ACTION
1029 ON UPDATE NO ACTION);
1030
1031-- ----------------------------------------------------------------------------
1032-- Table bellatips.users_devices
1033-- ----------------------------------------------------------------------------
1034CREATE TABLE IF NOT EXISTS `bellatips`.`users_devices` (
1035 `devices_id` BIGINT NOT NULL,
1036 `users_id` BIGINT NOT NULL,
1037 PRIMARY KEY (`devices_id`, `users_id`),
1038 CONSTRAINT `users_devices_devices_id_fkey`
1039 FOREIGN KEY (`devices_id`)
1040 REFERENCES `bellatips`.`devices` (`id`)
1041 ON DELETE NO ACTION
1042 ON UPDATE NO ACTION,
1043 CONSTRAINT `users_devices_users_id_fkey`
1044 FOREIGN KEY (`users_id`)
1045 REFERENCES `bellatips`.`users` (`id`)
1046 ON DELETE NO ACTION
1047 ON UPDATE NO ACTION);
1048
1049-- ----------------------------------------------------------------------------
1050-- Table bellatips.users_emails
1051-- ----------------------------------------------------------------------------
1052CREATE TABLE IF NOT EXISTS `bellatips`.`users_emails` (
1053 `email` VARCHAR(25) NOT NULL,
1054 `users_id` BIGINT NOT NULL,
1055 PRIMARY KEY (`email`, `users_id`),
1056 CONSTRAINT `users_emails_users_id_fkey`
1057 FOREIGN KEY (`users_id`)
1058 REFERENCES `bellatips`.`users` (`id`)
1059 ON DELETE NO ACTION
1060 ON UPDATE NO ACTION);
1061
1062-- ----------------------------------------------------------------------------
1063-- Table bellatips.users_installations
1064-- ----------------------------------------------------------------------------
1065CREATE TABLE IF NOT EXISTS `bellatips`.`users_installations` (
1066 `installations_id` CHAR(32) NOT NULL,
1067 `users_id` BIGINT NOT NULL,
1068 PRIMARY KEY (`installations_id`, `users_id`),
1069 CONSTRAINT `users_installations_installations_id_fkey`
1070 FOREIGN KEY (`installations_id`)
1071 REFERENCES `bellatips`.`installations` (`id`)
1072 ON DELETE NO ACTION
1073 ON UPDATE NO ACTION,
1074 CONSTRAINT `users_installations_users_id_fkey`
1075 FOREIGN KEY (`users_id`)
1076 REFERENCES `bellatips`.`users` (`id`)
1077 ON DELETE NO ACTION
1078 ON UPDATE NO ACTION);
1079
1080-- ----------------------------------------------------------------------------
1081-- Table bellatips.users_medals
1082-- ----------------------------------------------------------------------------
1083CREATE TABLE IF NOT EXISTS `bellatips`.`users_medals` (
1084 `users_id` BIGINT NOT NULL,
1085 `medals_id` INT NOT NULL,
1086 `creation_date` DATETIME NOT NULL,
1087 PRIMARY KEY (`users_id`, `medals_id`),
1088 CONSTRAINT `users_medals_medals_id_fkey`
1089 FOREIGN KEY (`medals_id`)
1090 REFERENCES `bellatips`.`medals` (`id`)
1091 ON DELETE NO ACTION
1092 ON UPDATE NO ACTION,
1093 CONSTRAINT `users_medals_users_id_fkey`
1094 FOREIGN KEY (`users_id`)
1095 REFERENCES `bellatips`.`users` (`id`)
1096 ON DELETE NO ACTION
1097 ON UPDATE NO ACTION);
1098
1099-- ----------------------------------------------------------------------------
1100-- Table bellatips.users_notifications
1101-- ----------------------------------------------------------------------------
1102CREATE TABLE IF NOT EXISTS `bellatips`.`users_notifications` (
1103 `users_id` BIGINT NOT NULL,
1104 `notifications_id` INT NOT NULL,
1105 `mobile` TINYINT NOT NULL DEFAULT 1,
1106 `mail` TINYINT NOT NULL DEFAULT 1,
1107 PRIMARY KEY (`users_id`, `notifications_id`),
1108 CONSTRAINT `users_notifications_notifications_id_fkey`
1109 FOREIGN KEY (`notifications_id`)
1110 REFERENCES `bellatips`.`notifications` (`id`)
1111 ON DELETE NO ACTION
1112 ON UPDATE NO ACTION,
1113 CONSTRAINT `users_notifications_users_id_fkey`
1114 FOREIGN KEY (`users_id`)
1115 REFERENCES `bellatips`.`users` (`id`)
1116 ON DELETE NO ACTION
1117 ON UPDATE NO ACTION);
1118
1119-- ----------------------------------------------------------------------------
1120-- Table bellatips.users_profile_data
1121-- ----------------------------------------------------------------------------
1122CREATE TABLE IF NOT EXISTS `bellatips`.`users_profile_data` (
1123 `users_id` BIGINT NOT NULL,
1124 `key` VARCHAR(50) NOT NULL,
1125 `value` VARCHAR(512) NOT NULL,
1126 PRIMARY KEY (`users_id`, `key`),
1127 CONSTRAINT `users_profile_data_users_id_fkey`
1128 FOREIGN KEY (`users_id`)
1129 REFERENCES `bellatips`.`users` (`id`)
1130 ON DELETE NO ACTION
1131 ON UPDATE NO ACTION);
1132
1133-- ----------------------------------------------------------------------------
1134-- Table bellatips.users_profile_fields
1135-- ----------------------------------------------------------------------------
1136CREATE TABLE IF NOT EXISTS `bellatips`.`users_profile_fields` (
1137 `key` VARCHAR(50) NOT NULL,
1138 `type` VARCHAR(15) NOT NULL DEFAULT 'string',
1139 `min_value` INT NULL,
1140 `max_value` INT NULL,
1141 `min_date` DATETIME NULL,
1142 `ordering` SMALLINT NULL,
1143 PRIMARY KEY (`key`));
1144
1145-- ----------------------------------------------------------------------------
1146-- Table bellatips.users_referrals
1147-- ----------------------------------------------------------------------------
1148CREATE TABLE IF NOT EXISTS `bellatips`.`users_referrals` (
1149 `users_id` BIGINT NOT NULL,
1150 `users_referral_id` BIGINT NOT NULL,
1151 PRIMARY KEY (`users_id`, `users_referral_id`),
1152 CONSTRAINT `users_referrals_users_id_fkey`
1153 FOREIGN KEY (`users_id`)
1154 REFERENCES `bellatips`.`users` (`id`)
1155 ON DELETE NO ACTION
1156 ON UPDATE NO ACTION,
1157 CONSTRAINT `users_referrals_users_referral_id_fkey`
1158 FOREIGN KEY (`users_referral_id`)
1159 REFERENCES `bellatips`.`users` (`id`)
1160 ON DELETE NO ACTION
1161 ON UPDATE NO ACTION);
1162
1163-- ----------------------------------------------------------------------------
1164-- Table bellatips.users_reports
1165-- ----------------------------------------------------------------------------
1166CREATE TABLE IF NOT EXISTS `bellatips`.`users_reports` (
1167 `id` BIGINT NOT NULL AUTO_INCREMENT,
1168 `reported_users_id` BIGINT NOT NULL,
1169 `users_id` BIGINT NOT NULL,
1170 `option` VARCHAR(15) NULL,
1171 `reason` LONGTEXT NULL,
1172 `creation_date` DATETIME NOT NULL,
1173 PRIMARY KEY (`id`),
1174 CONSTRAINT `users_reports_reported_users_id_fkey`
1175 FOREIGN KEY (`reported_users_id`)
1176 REFERENCES `bellatips`.`users` (`id`)
1177 ON DELETE NO ACTION
1178 ON UPDATE NO ACTION,
1179 CONSTRAINT `users_reports_users_id_fkey`
1180 FOREIGN KEY (`users_id`)
1181 REFERENCES `bellatips`.`users` (`id`)
1182 ON DELETE NO ACTION
1183 ON UPDATE NO ACTION);
1184
1185-- ----------------------------------------------------------------------------
1186-- Table bellatips.users_used_karma_rewards
1187-- ----------------------------------------------------------------------------
1188CREATE TABLE IF NOT EXISTS `bellatips`.`users_used_karma_rewards` (
1189 `users_id` BIGINT NOT NULL,
1190 `karma_rewards_id` INT NOT NULL,
1191 `creation_date` DATETIME NOT NULL,
1192 INDEX `users_used_karma_rewards_key` (`users_id` ASC, `karma_rewards_id` ASC),
1193 CONSTRAINT `users_used_karma_rewards_karma_rewards_id_fkey`
1194 FOREIGN KEY (`karma_rewards_id`)
1195 REFERENCES `bellatips`.`karma_rewards` (`id`)
1196 ON DELETE NO ACTION
1197 ON UPDATE NO ACTION,
1198 CONSTRAINT `users_used_karma_rewards_users_id_fkey`
1199 FOREIGN KEY (`users_id`)
1200 REFERENCES `bellatips`.`users` (`id`)
1201 ON DELETE NO ACTION
1202 ON UPDATE NO ACTION);
1203SET FOREIGN_KEY_CHECKS = 1;