· 6 years ago · Jun 30, 2019, 03:40 AM
1CREATE TABLE `payment_method` (
2 `payment_method_id` int(11) NOT NULL auto_increment,
3 `payment_method_name` VARCHAR(20) DEFAULT NULL,
4 `payment_method_status` ENUM('active','disabled') CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT 'active',
5 PRIMARY KEY (`payment_method_id`)
6) ENGINE=InnoDB AUTO_INCREMENT=1;
7
8CREATE TABLE IF NOT EXISTS `product_type` (
9 `product_type_code` varchar(50) NOT NULL,
10 `product_type` varchar(150) NOT NULL,
11 `product_type_name` varchar(150) NOT NULL,
12 PRIMARY KEY (`product_type_code`)
13) ENGINE=InnoDB DEFAULT CHARSET=utf8;
14
15
16CREATE TABLE IF NOT EXISTS `product` (
17 `product_id` int(11) NOT NULL AUTO_INCREMENT,
18 `product_price` decimal(12,2) DEFAULT NULL,
19 `product_duration` int(11) DEFAULT NULL,
20 `product_currency` varchar(50) NOT NULL,
21 `recurring` enum('yes','no') CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT 'yes',
22 `daily_limit` int(11) DEFAULT NULL,
23 `monthly_limit` int(11) DEFAULT NULL,
24 `lifetime_limit` int(11) DEFAULT NULL,
25 `product_type_code` varchar(50) NOT NULL,
26 `product_description` varchar(150) DEFAULT NULL,
27 PRIMARY KEY (`product_id`),
28 FOREIGN KEY (product_type_code) REFERENCES product_type(product_type_code)
29) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
30
31CREATE TABLE IF NOT EXISTS `product_detail` (
32 `product_detail_id` int(11) NOT NULL AUTO_INCREMENT,
33 `product_id` int(11) NOT NULL,
34 `key` varchar(150) DEFAULT NULL,
35 `value` varchar(150) DEFAULT NULL,
36 PRIMARY KEY (`product_detail_id`),
37 KEY `product_id` (`product_id`)
38) ENGINE=InnoDB DEFAULT CHARSET=utf8;
39
40
41CREATE TABLE IF NOT EXISTS `business_product` (
42 `business_product_id` int(11) NOT NULL,
43 `product_id` int(11) DEFAULT NULL,
44 `business_id` int(11) DEFAULT NULL,
45 `added_by_user_id` int(11) NOT NULL,
46 `product_price` decimal(12,2) DEFAULT NULL,
47 `product_currency` varchar(5) NOT NULL,
48 `product_type` varchar(150) NOT NULL,
49 `business_product_status` enum('paid','canceled') CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
50 `start_date` date NOT NULL,
51 `end_date` date DEFAULT NULL,
52 `last_update_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
53 PRIMARY KEY (`business_product_id`)
54) ENGINE=InnoDB DEFAULT CHARSET=utf8;
55
56
57
58
59CREATE TABLE `user_authorized` (
60 `user_authorized_id` int(11) NOT NULL auto_increment,
61 `payment_method_id` int(11),
62 `authorized` varchar(150),
63 `autopay` enum('yes','no') CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT 'yes',
64 PRIMARY KEY (`user_authorized_id`)
65) ENGINE=InnoDB AUTO_INCREMENT=1;
66
67CREATE TABLE `billing` (
68 `billing_id` int(11) NOT NULL auto_increment,
69 `external_id` VARCHAR(100) DEFAULT NULL,
70 `invoice_date` datetime,
71 `bill_date` datetime,
72 `start_date` date,
73 `end_date` date,
74 `payment_method_id` int(11) default NULL,
75 `user_id` int(11) default NULL,
76 `authorized` VARCHAR(200) DEFAULT NULL,
77 `fee` decimal(12,2) default NULL,
78 `notes` varchar(500) default NULL,
79 `billing_status` ENUM('new','paid','returned','canceled', 'pending', 'overdue') CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT 'new',
80 PRIMARY KEY (`billing_id`)
81) ENGINE=InnoDB AUTO_INCREMENT=1 ;
82
83
84CREATE TABLE `billing_detail` (
85 `billing_detail_id` int(11) NOT NULL auto_increment,
86 `billing_id` int(11) NOT NULL,
87 `product_id` int(11),
88 `business_id` int(11),
89 `product_price` decimal(12,2),
90 PRIMARY KEY (`billing_detail_id`)
91) ENGINE=InnoDB AUTO_INCREMENT=1 ;
92
93```
94
95
96What do you think am I missing something?