Skip to content

Commit 5f75892

Browse files
committed
migrations for comments
1 parent ba09762 commit 5f75892

File tree

3 files changed

+76
-1
lines changed

3 files changed

+76
-1
lines changed

src/migrations/customer/00004_ratings_ddl.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ CREATE TABLE IF NOT EXISTS ratings.feedback (
44
id BIGINT AUTO_INCREMENT,
55
customer_id BINARY(16),
66
product_id MEDIUMINT,
7+
title VARCHAR(100),
78
rating TINYINT,
89
summary TEXT,
910
helpful MEDIUMINT,
1011
active BOOLEAN DEFAULT TRUE,
1112
created_on DATETIME DEFAULT CURRENT_TIMESTAMP,
1213
updated_on DATETIME ON UPDATE CURRENT_TIMESTAMP,
13-
PRIMARY KEY (id)
14+
PRIMARY KEY (id, customer_id, product_id)
1415
);
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
DROP PROCEDURE IF EXISTS ratings.create_rating;
2+
3+
DELIMITER $$
4+
5+
CREATE PROCEDURE ratings.create_rating ( IN in_customer_id BINARY(16) , IN in_product_id MEDIUMINT, IN in_title VARCHAR(100), IN in_rating TINYINT, IN in_summary TEXT )
6+
BEGIN
7+
8+
DECLARE var_order_total_price DECIMAL(13,2);
9+
10+
DECLARE EXIT HANDLER FOR SQLEXCEPTION
11+
BEGIN
12+
ROLLBACK;
13+
END;
14+
15+
START TRANSACTION;
16+
17+
-- Creating a feedback
18+
INSERT INTO ratings.feedback (
19+
customer_id,
20+
product_id,
21+
title,
22+
rating,
23+
summary,
24+
helpful
25+
) VALUES (
26+
in_customer_id,
27+
in_product_id,
28+
in_title,
29+
in_rating,
30+
in_summary,
31+
0
32+
);
33+
34+
-- Setting feedback id
35+
SET @var_feedback_id = LAST_INSERT_ID();
36+
37+
COMMIT;
38+
39+
SELECT @var_feedback_id;
40+
41+
END $$
42+
43+
DELIMITER ;
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
DROP PROCEDURE IF EXISTS ratings.update_rating;
2+
3+
DELIMITER $$
4+
5+
CREATE PROCEDURE ratings.update_rating ( IN in_customer_id BINARY(16) , IN in_feedback_id BIGINT, IN in_title VARCHAR(100), IN in_rating TINYINT, IN in_summary TEXT )
6+
BEGIN
7+
8+
DECLARE var_order_total_price DECIMAL(13,2);
9+
10+
DECLARE EXIT HANDLER FOR SQLEXCEPTION
11+
BEGIN
12+
ROLLBACK;
13+
END;
14+
15+
START TRANSACTION;
16+
17+
-- Update a feedback
18+
UPDATE ratings.feedback
19+
SET title = in_title,
20+
rating = in_rating,
21+
summary = in_summary
22+
WHERE id = in_feedback_id
23+
AND customer_id = in_customer_id;
24+
25+
COMMIT;
26+
27+
SELECT in_feedback_id;
28+
29+
END $$
30+
31+
DELIMITER ;

0 commit comments

Comments
 (0)