@carbonorm/carbonnode 4.0.1 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +158 -49
- package/dist/api/executors/SqlExecutor.d.ts +6 -0
- package/dist/api/handlers/ExpressHandler.d.ts +2 -1
- package/dist/api/types/ormInterfaces.d.ts +12 -0
- package/dist/api/utils/sqlAllowList.d.ts +2 -0
- package/dist/index.cjs.js +247 -10
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.esm.js +246 -11
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
- package/scripts/assets/handlebars/C6.test.ts.handlebars +578 -32
- package/scripts/generateRestBindings.cjs +5 -5
- package/scripts/generateRestBindings.ts +5 -5
- package/src/__tests__/fixtures/createTestServer.ts +11 -3
- package/src/__tests__/fixtures/sqlResponses/actor.get.json +13 -0
- package/src/__tests__/fixtures/sqlResponses/sqlAllowList.blocked.json +3 -0
- package/src/__tests__/fixtures/sqlResponses/sqlAllowList.json +3 -0
- package/src/__tests__/sakila-db/C6.js +1 -1
- package/src/__tests__/sakila-db/C6.mysql.cnf +6 -0
- package/src/__tests__/sakila-db/C6.mysqldump.json +1 -0
- package/src/__tests__/sakila-db/C6.mysqldump.sql +720 -0
- package/src/__tests__/sakila-db/C6.sqlAllowList.json +94 -0
- package/src/__tests__/sakila-db/C6.test.ts +578 -32
- package/src/__tests__/sakila-db/C6.ts +1 -1
- package/src/__tests__/sakila-db/sqlResponses/C6.actor.delete.json +10 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.actor.delete.lookup.json +9 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.actor.get.json +14 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.actor.join.json +15 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.actor.post.json +12 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.actor.post.latest.json +14 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.actor.put.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.actor.put.lookup.json +16 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.actor.seed.json +14 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.address.delete.json +10 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.address.delete.lookup.json +9 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.address.fk.current.json +358 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.address.fk.referenced.json +158 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.address.get.json +22 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.address.join.json +24 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.address.post.json +16 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.address.post.latest.json +22 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.address.put.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.address.put.lookup.json +24 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.address.seed.json +22 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.category.delete.json +10 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.category.delete.lookup.json +9 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.category.get.json +13 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.category.join.json +14 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.category.post.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.category.post.latest.json +13 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.category.put.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.category.put.lookup.json +15 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.category.seed.json +13 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.city.delete.json +10 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.city.delete.lookup.json +9 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.city.fk.current.json +158 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.city.fk.referenced.json +133 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.city.get.json +14 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.city.join.json +15 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.city.post.json +12 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.city.post.latest.json +14 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.city.put.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.city.put.lookup.json +16 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.city.seed.json +14 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.country.delete.json +10 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.country.delete.lookup.json +9 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.country.get.json +13 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.country.join.json +15 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.country.post.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.country.post.latest.json +13 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.country.put.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.country.put.lookup.json +15 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.country.seed.json +13 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.customer.delete.json +10 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.customer.delete.lookup.json +9 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.customer.fk.current.json +283 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.customer.fk.referenced.json +358 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.customer.get.json +19 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.customer.join.json +29 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.customer.post.json +17 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.customer.post.latest.json +19 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.customer.put.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.customer.put.lookup.json +21 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.customer.seed.json +19 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.film.delete.json +10 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.film.delete.lookup.json +9 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.film.fk.current.json +383 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.film.fk.referenced.json +38 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.film.get.json +23 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.film.join.json +24 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.film.post.json +20 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.film.post.latest.json +23 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.film.put.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.film.put.lookup.json +25 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.film.seed.json +23 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.inventory.delete.json +10 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.inventory.delete.lookup.json +9 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.inventory.fk.current.json +158 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.inventory.fk.referenced.json +20 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.inventory.get.json +14 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.inventory.join.json +25 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.inventory.post.json +12 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.inventory.post.latest.json +14 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.inventory.put.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.inventory.put.lookup.json +16 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.inventory.seed.json +14 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.language.delete.json +10 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.language.delete.lookup.json +9 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.language.get.json +13 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.language.join.json +24 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.language.post.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.language.post.latest.json +13 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.language.put.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.language.put.lookup.json +15 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.language.seed.json +13 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.payment.delete.json +10 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.payment.delete.lookup.json +9 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.payment.fk.current.json +233 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.payment.fk.referenced.json +233 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.payment.get.json +17 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.payment.join.json +24 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.payment.post.json +15 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.payment.post.latest.json +17 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.payment.put.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.payment.put.lookup.json +19 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.payment.seed.json +17 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.rental.delete.json +10 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.rental.delete.lookup.json +9 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.rental.fk.current.json +233 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.rental.fk.referenced.json +34 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.rental.get.json +17 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.rental.join.json +24 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.rental.post.json +15 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.rental.post.latest.json +17 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.rental.put.json +11 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.rental.put.lookup.json +19 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.rental.seed.json +17 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.staff.fk.current.json +34 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.staff.fk.referenced.json +20 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.staff.get.json +21 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.staff.join.json +31 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.staff.seed.json +21 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.store.fk.current.json +20 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.store.fk.referenced.json +34 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.store.get.json +14 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.store.join.json +24 -0
- package/src/__tests__/sakila-db/sqlResponses/C6.store.seed.json +14 -0
- package/src/__tests__/sakila.generated.test.ts +31 -0
- package/src/__tests__/sqlAllowList.test.ts +135 -0
- package/src/api/executors/SqlExecutor.ts +156 -0
- package/src/api/handlers/ExpressHandler.ts +10 -1
- package/src/api/types/ormInterfaces.ts +15 -0
- package/src/api/utils/sqlAllowList.ts +54 -0
- package/src/index.ts +1 -0
|
@@ -0,0 +1,720 @@
|
|
|
1
|
+
-- MySQL dump 10.13 Distrib 8.0.44, for Linux (x86_64)
|
|
2
|
+
--
|
|
3
|
+
-- Host: 127.0.0.1 Database: sakila
|
|
4
|
+
-- ------------------------------------------------------
|
|
5
|
+
-- Server version 8.0.44
|
|
6
|
+
|
|
7
|
+
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
|
8
|
+
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
|
9
|
+
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
|
10
|
+
/*!50503 SET NAMES utf8mb4 */;
|
|
11
|
+
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
|
12
|
+
/*!40103 SET TIME_ZONE='+00:00' */;
|
|
13
|
+
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
|
14
|
+
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
|
15
|
+
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
|
16
|
+
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
|
17
|
+
|
|
18
|
+
--
|
|
19
|
+
-- Table structure for table `actor`
|
|
20
|
+
--
|
|
21
|
+
|
|
22
|
+
DROP TABLE IF EXISTS `actor`;
|
|
23
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
24
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
25
|
+
CREATE TABLE `actor` (
|
|
26
|
+
`actor_id` smallint unsigned NOT NULL AUTO_INCREMENT,
|
|
27
|
+
`first_name` varchar(45) NOT NULL,
|
|
28
|
+
`last_name` varchar(45) NOT NULL,
|
|
29
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
30
|
+
PRIMARY KEY (`actor_id`),
|
|
31
|
+
KEY `idx_actor_last_name` (`last_name`)
|
|
32
|
+
) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
33
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
34
|
+
|
|
35
|
+
--
|
|
36
|
+
-- Temporary view structure for view `actor_info`
|
|
37
|
+
--
|
|
38
|
+
|
|
39
|
+
DROP TABLE IF EXISTS `actor_info`;
|
|
40
|
+
/*!50001 DROP VIEW IF EXISTS `actor_info`*/;
|
|
41
|
+
SET @saved_cs_client = @@character_set_client;
|
|
42
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
43
|
+
/*!50001 CREATE VIEW `actor_info` AS SELECT
|
|
44
|
+
1 AS `actor_id`,
|
|
45
|
+
1 AS `first_name`,
|
|
46
|
+
1 AS `last_name`,
|
|
47
|
+
1 AS `film_info`*/;
|
|
48
|
+
SET character_set_client = @saved_cs_client;
|
|
49
|
+
|
|
50
|
+
--
|
|
51
|
+
-- Table structure for table `address`
|
|
52
|
+
--
|
|
53
|
+
|
|
54
|
+
DROP TABLE IF EXISTS `address`;
|
|
55
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
56
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
57
|
+
CREATE TABLE `address` (
|
|
58
|
+
`address_id` smallint unsigned NOT NULL AUTO_INCREMENT,
|
|
59
|
+
`address` varchar(50) NOT NULL,
|
|
60
|
+
`address2` varchar(50) DEFAULT NULL,
|
|
61
|
+
`district` varchar(20) NOT NULL,
|
|
62
|
+
`city_id` smallint unsigned NOT NULL,
|
|
63
|
+
`postal_code` varchar(10) DEFAULT NULL,
|
|
64
|
+
`phone` varchar(20) NOT NULL,
|
|
65
|
+
`location` geometry NOT NULL /*!80003 SRID 0 */,
|
|
66
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
67
|
+
PRIMARY KEY (`address_id`),
|
|
68
|
+
KEY `idx_fk_city_id` (`city_id`),
|
|
69
|
+
SPATIAL KEY `idx_location` (`location`),
|
|
70
|
+
CONSTRAINT `fk_address_city` FOREIGN KEY (`city_id`) REFERENCES `city` (`city_id`) ON DELETE RESTRICT ON UPDATE CASCADE
|
|
71
|
+
) ENGINE=InnoDB AUTO_INCREMENT=606 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
72
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
73
|
+
|
|
74
|
+
--
|
|
75
|
+
-- Table structure for table `binary_test`
|
|
76
|
+
--
|
|
77
|
+
|
|
78
|
+
DROP TABLE IF EXISTS `binary_test`;
|
|
79
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
80
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
81
|
+
CREATE TABLE `binary_test` (
|
|
82
|
+
`id` int NOT NULL AUTO_INCREMENT,
|
|
83
|
+
`bin_col` binary(16) DEFAULT NULL,
|
|
84
|
+
PRIMARY KEY (`id`)
|
|
85
|
+
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
86
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
87
|
+
|
|
88
|
+
--
|
|
89
|
+
-- Table structure for table `category`
|
|
90
|
+
--
|
|
91
|
+
|
|
92
|
+
DROP TABLE IF EXISTS `category`;
|
|
93
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
94
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
95
|
+
CREATE TABLE `category` (
|
|
96
|
+
`category_id` tinyint unsigned NOT NULL AUTO_INCREMENT,
|
|
97
|
+
`name` varchar(25) NOT NULL,
|
|
98
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
99
|
+
PRIMARY KEY (`category_id`)
|
|
100
|
+
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
101
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
102
|
+
|
|
103
|
+
--
|
|
104
|
+
-- Table structure for table `city`
|
|
105
|
+
--
|
|
106
|
+
|
|
107
|
+
DROP TABLE IF EXISTS `city`;
|
|
108
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
109
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
110
|
+
CREATE TABLE `city` (
|
|
111
|
+
`city_id` smallint unsigned NOT NULL AUTO_INCREMENT,
|
|
112
|
+
`city` varchar(50) NOT NULL,
|
|
113
|
+
`country_id` smallint unsigned NOT NULL,
|
|
114
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
115
|
+
PRIMARY KEY (`city_id`),
|
|
116
|
+
KEY `idx_fk_country_id` (`country_id`),
|
|
117
|
+
CONSTRAINT `fk_city_country` FOREIGN KEY (`country_id`) REFERENCES `country` (`country_id`) ON DELETE RESTRICT ON UPDATE CASCADE
|
|
118
|
+
) ENGINE=InnoDB AUTO_INCREMENT=601 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
119
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
120
|
+
|
|
121
|
+
--
|
|
122
|
+
-- Table structure for table `country`
|
|
123
|
+
--
|
|
124
|
+
|
|
125
|
+
DROP TABLE IF EXISTS `country`;
|
|
126
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
127
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
128
|
+
CREATE TABLE `country` (
|
|
129
|
+
`country_id` smallint unsigned NOT NULL AUTO_INCREMENT,
|
|
130
|
+
`country` varchar(50) NOT NULL,
|
|
131
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
132
|
+
PRIMARY KEY (`country_id`)
|
|
133
|
+
) ENGINE=InnoDB AUTO_INCREMENT=110 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
134
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
135
|
+
|
|
136
|
+
--
|
|
137
|
+
-- Table structure for table `customer`
|
|
138
|
+
--
|
|
139
|
+
|
|
140
|
+
DROP TABLE IF EXISTS `customer`;
|
|
141
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
142
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
143
|
+
CREATE TABLE `customer` (
|
|
144
|
+
`customer_id` smallint unsigned NOT NULL AUTO_INCREMENT,
|
|
145
|
+
`store_id` tinyint unsigned NOT NULL,
|
|
146
|
+
`first_name` varchar(45) NOT NULL,
|
|
147
|
+
`last_name` varchar(45) NOT NULL,
|
|
148
|
+
`email` varchar(50) DEFAULT NULL,
|
|
149
|
+
`address_id` smallint unsigned NOT NULL,
|
|
150
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
151
|
+
`create_date` datetime NOT NULL,
|
|
152
|
+
`last_update` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
153
|
+
PRIMARY KEY (`customer_id`),
|
|
154
|
+
KEY `idx_fk_store_id` (`store_id`),
|
|
155
|
+
KEY `idx_fk_address_id` (`address_id`),
|
|
156
|
+
KEY `idx_last_name` (`last_name`),
|
|
157
|
+
CONSTRAINT `fk_customer_address` FOREIGN KEY (`address_id`) REFERENCES `address` (`address_id`) ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
158
|
+
CONSTRAINT `fk_customer_store` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE RESTRICT ON UPDATE CASCADE
|
|
159
|
+
) ENGINE=InnoDB AUTO_INCREMENT=600 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
160
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
161
|
+
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
162
|
+
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
163
|
+
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
164
|
+
/*!50003 SET character_set_client = utf8mb4 */ ;
|
|
165
|
+
/*!50003 SET character_set_results = utf8mb4 */ ;
|
|
166
|
+
/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ;
|
|
167
|
+
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
168
|
+
/*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_ENGINE_SUBSTITUTION' */ ;
|
|
169
|
+
DELIMITER ;;
|
|
170
|
+
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `customer_create_date` BEFORE INSERT ON `customer` FOR EACH ROW SET NEW.create_date = NOW() */;;
|
|
171
|
+
DELIMITER ;
|
|
172
|
+
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
173
|
+
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
174
|
+
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
175
|
+
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
176
|
+
|
|
177
|
+
--
|
|
178
|
+
-- Temporary view structure for view `customer_list`
|
|
179
|
+
--
|
|
180
|
+
|
|
181
|
+
DROP TABLE IF EXISTS `customer_list`;
|
|
182
|
+
/*!50001 DROP VIEW IF EXISTS `customer_list`*/;
|
|
183
|
+
SET @saved_cs_client = @@character_set_client;
|
|
184
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
185
|
+
/*!50001 CREATE VIEW `customer_list` AS SELECT
|
|
186
|
+
1 AS `ID`,
|
|
187
|
+
1 AS `name`,
|
|
188
|
+
1 AS `address`,
|
|
189
|
+
1 AS `zip code`,
|
|
190
|
+
1 AS `phone`,
|
|
191
|
+
1 AS `city`,
|
|
192
|
+
1 AS `country`,
|
|
193
|
+
1 AS `notes`,
|
|
194
|
+
1 AS `SID`*/;
|
|
195
|
+
SET character_set_client = @saved_cs_client;
|
|
196
|
+
|
|
197
|
+
--
|
|
198
|
+
-- Table structure for table `film`
|
|
199
|
+
--
|
|
200
|
+
|
|
201
|
+
DROP TABLE IF EXISTS `film`;
|
|
202
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
203
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
204
|
+
CREATE TABLE `film` (
|
|
205
|
+
`film_id` smallint unsigned NOT NULL AUTO_INCREMENT,
|
|
206
|
+
`title` varchar(128) NOT NULL,
|
|
207
|
+
`description` text,
|
|
208
|
+
`release_year` year DEFAULT NULL,
|
|
209
|
+
`language_id` tinyint unsigned NOT NULL,
|
|
210
|
+
`original_language_id` tinyint unsigned DEFAULT NULL,
|
|
211
|
+
`rental_duration` tinyint unsigned NOT NULL DEFAULT '3',
|
|
212
|
+
`rental_rate` decimal(4,2) NOT NULL DEFAULT '4.99',
|
|
213
|
+
`length` smallint unsigned DEFAULT NULL,
|
|
214
|
+
`replacement_cost` decimal(5,2) NOT NULL DEFAULT '19.99',
|
|
215
|
+
`rating` enum('G','PG','PG-13','R','NC-17') DEFAULT 'G',
|
|
216
|
+
`special_features` set('Trailers','Commentaries','Deleted Scenes','Behind the Scenes') DEFAULT NULL,
|
|
217
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
218
|
+
PRIMARY KEY (`film_id`),
|
|
219
|
+
KEY `idx_title` (`title`),
|
|
220
|
+
KEY `idx_fk_language_id` (`language_id`),
|
|
221
|
+
KEY `idx_fk_original_language_id` (`original_language_id`),
|
|
222
|
+
CONSTRAINT `fk_film_language` FOREIGN KEY (`language_id`) REFERENCES `language` (`language_id`) ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
223
|
+
CONSTRAINT `fk_film_language_original` FOREIGN KEY (`original_language_id`) REFERENCES `language` (`language_id`) ON DELETE RESTRICT ON UPDATE CASCADE
|
|
224
|
+
) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
225
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
226
|
+
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
227
|
+
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
228
|
+
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
229
|
+
/*!50003 SET character_set_client = utf8mb4 */ ;
|
|
230
|
+
/*!50003 SET character_set_results = utf8mb4 */ ;
|
|
231
|
+
/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ;
|
|
232
|
+
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
233
|
+
/*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_ENGINE_SUBSTITUTION' */ ;
|
|
234
|
+
DELIMITER ;;
|
|
235
|
+
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `ins_film` AFTER INSERT ON `film` FOR EACH ROW BEGIN
|
|
236
|
+
INSERT INTO film_text (film_id, title, description)
|
|
237
|
+
VALUES (new.film_id, new.title, new.description);
|
|
238
|
+
END */;;
|
|
239
|
+
DELIMITER ;
|
|
240
|
+
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
241
|
+
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
242
|
+
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
243
|
+
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
244
|
+
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
245
|
+
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
246
|
+
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
247
|
+
/*!50003 SET character_set_client = utf8mb4 */ ;
|
|
248
|
+
/*!50003 SET character_set_results = utf8mb4 */ ;
|
|
249
|
+
/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ;
|
|
250
|
+
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
251
|
+
/*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_ENGINE_SUBSTITUTION' */ ;
|
|
252
|
+
DELIMITER ;;
|
|
253
|
+
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `upd_film` AFTER UPDATE ON `film` FOR EACH ROW BEGIN
|
|
254
|
+
IF (old.title != new.title) OR (old.description != new.description) OR (old.film_id != new.film_id)
|
|
255
|
+
THEN
|
|
256
|
+
UPDATE film_text
|
|
257
|
+
SET title=new.title,
|
|
258
|
+
description=new.description,
|
|
259
|
+
film_id=new.film_id
|
|
260
|
+
WHERE film_id=old.film_id;
|
|
261
|
+
END IF;
|
|
262
|
+
END */;;
|
|
263
|
+
DELIMITER ;
|
|
264
|
+
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
265
|
+
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
266
|
+
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
267
|
+
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
268
|
+
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
269
|
+
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
270
|
+
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
271
|
+
/*!50003 SET character_set_client = utf8mb4 */ ;
|
|
272
|
+
/*!50003 SET character_set_results = utf8mb4 */ ;
|
|
273
|
+
/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ;
|
|
274
|
+
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
275
|
+
/*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_ENGINE_SUBSTITUTION' */ ;
|
|
276
|
+
DELIMITER ;;
|
|
277
|
+
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `del_film` AFTER DELETE ON `film` FOR EACH ROW BEGIN
|
|
278
|
+
DELETE FROM film_text WHERE film_id = old.film_id;
|
|
279
|
+
END */;;
|
|
280
|
+
DELIMITER ;
|
|
281
|
+
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
282
|
+
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
283
|
+
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
284
|
+
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
285
|
+
|
|
286
|
+
--
|
|
287
|
+
-- Table structure for table `film_actor`
|
|
288
|
+
--
|
|
289
|
+
|
|
290
|
+
DROP TABLE IF EXISTS `film_actor`;
|
|
291
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
292
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
293
|
+
CREATE TABLE `film_actor` (
|
|
294
|
+
`actor_id` smallint unsigned NOT NULL,
|
|
295
|
+
`film_id` smallint unsigned NOT NULL,
|
|
296
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
297
|
+
PRIMARY KEY (`actor_id`,`film_id`),
|
|
298
|
+
KEY `idx_fk_film_id` (`film_id`),
|
|
299
|
+
CONSTRAINT `fk_film_actor_actor` FOREIGN KEY (`actor_id`) REFERENCES `actor` (`actor_id`) ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
300
|
+
CONSTRAINT `fk_film_actor_film` FOREIGN KEY (`film_id`) REFERENCES `film` (`film_id`) ON DELETE RESTRICT ON UPDATE CASCADE
|
|
301
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
302
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
303
|
+
|
|
304
|
+
--
|
|
305
|
+
-- Table structure for table `film_category`
|
|
306
|
+
--
|
|
307
|
+
|
|
308
|
+
DROP TABLE IF EXISTS `film_category`;
|
|
309
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
310
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
311
|
+
CREATE TABLE `film_category` (
|
|
312
|
+
`film_id` smallint unsigned NOT NULL,
|
|
313
|
+
`category_id` tinyint unsigned NOT NULL,
|
|
314
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
315
|
+
PRIMARY KEY (`film_id`,`category_id`),
|
|
316
|
+
KEY `fk_film_category_category` (`category_id`),
|
|
317
|
+
CONSTRAINT `fk_film_category_category` FOREIGN KEY (`category_id`) REFERENCES `category` (`category_id`) ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
318
|
+
CONSTRAINT `fk_film_category_film` FOREIGN KEY (`film_id`) REFERENCES `film` (`film_id`) ON DELETE RESTRICT ON UPDATE CASCADE
|
|
319
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
320
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
321
|
+
|
|
322
|
+
--
|
|
323
|
+
-- Temporary view structure for view `film_list`
|
|
324
|
+
--
|
|
325
|
+
|
|
326
|
+
DROP TABLE IF EXISTS `film_list`;
|
|
327
|
+
/*!50001 DROP VIEW IF EXISTS `film_list`*/;
|
|
328
|
+
SET @saved_cs_client = @@character_set_client;
|
|
329
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
330
|
+
/*!50001 CREATE VIEW `film_list` AS SELECT
|
|
331
|
+
1 AS `FID`,
|
|
332
|
+
1 AS `title`,
|
|
333
|
+
1 AS `description`,
|
|
334
|
+
1 AS `category`,
|
|
335
|
+
1 AS `price`,
|
|
336
|
+
1 AS `length`,
|
|
337
|
+
1 AS `rating`,
|
|
338
|
+
1 AS `actors`*/;
|
|
339
|
+
SET character_set_client = @saved_cs_client;
|
|
340
|
+
|
|
341
|
+
--
|
|
342
|
+
-- Table structure for table `film_text`
|
|
343
|
+
--
|
|
344
|
+
|
|
345
|
+
DROP TABLE IF EXISTS `film_text`;
|
|
346
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
347
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
348
|
+
CREATE TABLE `film_text` (
|
|
349
|
+
`film_id` smallint unsigned NOT NULL,
|
|
350
|
+
`title` varchar(255) NOT NULL,
|
|
351
|
+
`description` text,
|
|
352
|
+
PRIMARY KEY (`film_id`),
|
|
353
|
+
FULLTEXT KEY `idx_title_description` (`title`,`description`)
|
|
354
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
355
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
356
|
+
|
|
357
|
+
--
|
|
358
|
+
-- Table structure for table `inventory`
|
|
359
|
+
--
|
|
360
|
+
|
|
361
|
+
DROP TABLE IF EXISTS `inventory`;
|
|
362
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
363
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
364
|
+
CREATE TABLE `inventory` (
|
|
365
|
+
`inventory_id` mediumint unsigned NOT NULL AUTO_INCREMENT,
|
|
366
|
+
`film_id` smallint unsigned NOT NULL,
|
|
367
|
+
`store_id` tinyint unsigned NOT NULL,
|
|
368
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
369
|
+
PRIMARY KEY (`inventory_id`),
|
|
370
|
+
KEY `idx_fk_film_id` (`film_id`),
|
|
371
|
+
KEY `idx_store_id_film_id` (`store_id`,`film_id`),
|
|
372
|
+
CONSTRAINT `fk_inventory_film` FOREIGN KEY (`film_id`) REFERENCES `film` (`film_id`) ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
373
|
+
CONSTRAINT `fk_inventory_store` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE RESTRICT ON UPDATE CASCADE
|
|
374
|
+
) ENGINE=InnoDB AUTO_INCREMENT=4582 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
375
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
376
|
+
|
|
377
|
+
--
|
|
378
|
+
-- Table structure for table `language`
|
|
379
|
+
--
|
|
380
|
+
|
|
381
|
+
DROP TABLE IF EXISTS `language`;
|
|
382
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
383
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
384
|
+
CREATE TABLE `language` (
|
|
385
|
+
`language_id` tinyint unsigned NOT NULL AUTO_INCREMENT,
|
|
386
|
+
`name` char(20) NOT NULL,
|
|
387
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
388
|
+
PRIMARY KEY (`language_id`)
|
|
389
|
+
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
390
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
391
|
+
|
|
392
|
+
--
|
|
393
|
+
-- Temporary view structure for view `nicer_but_slower_film_list`
|
|
394
|
+
--
|
|
395
|
+
|
|
396
|
+
DROP TABLE IF EXISTS `nicer_but_slower_film_list`;
|
|
397
|
+
/*!50001 DROP VIEW IF EXISTS `nicer_but_slower_film_list`*/;
|
|
398
|
+
SET @saved_cs_client = @@character_set_client;
|
|
399
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
400
|
+
/*!50001 CREATE VIEW `nicer_but_slower_film_list` AS SELECT
|
|
401
|
+
1 AS `FID`,
|
|
402
|
+
1 AS `title`,
|
|
403
|
+
1 AS `description`,
|
|
404
|
+
1 AS `category`,
|
|
405
|
+
1 AS `price`,
|
|
406
|
+
1 AS `length`,
|
|
407
|
+
1 AS `rating`,
|
|
408
|
+
1 AS `actors`*/;
|
|
409
|
+
SET character_set_client = @saved_cs_client;
|
|
410
|
+
|
|
411
|
+
--
|
|
412
|
+
-- Table structure for table `payment`
|
|
413
|
+
--
|
|
414
|
+
|
|
415
|
+
DROP TABLE IF EXISTS `payment`;
|
|
416
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
417
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
418
|
+
CREATE TABLE `payment` (
|
|
419
|
+
`payment_id` smallint unsigned NOT NULL AUTO_INCREMENT,
|
|
420
|
+
`customer_id` smallint unsigned NOT NULL,
|
|
421
|
+
`staff_id` tinyint unsigned NOT NULL,
|
|
422
|
+
`rental_id` int DEFAULT NULL,
|
|
423
|
+
`amount` decimal(5,2) NOT NULL,
|
|
424
|
+
`payment_date` datetime NOT NULL,
|
|
425
|
+
`last_update` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
426
|
+
PRIMARY KEY (`payment_id`),
|
|
427
|
+
KEY `idx_fk_staff_id` (`staff_id`),
|
|
428
|
+
KEY `idx_fk_customer_id` (`customer_id`),
|
|
429
|
+
KEY `fk_payment_rental` (`rental_id`),
|
|
430
|
+
CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
431
|
+
CONSTRAINT `fk_payment_rental` FOREIGN KEY (`rental_id`) REFERENCES `rental` (`rental_id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
|
432
|
+
CONSTRAINT `fk_payment_staff` FOREIGN KEY (`staff_id`) REFERENCES `staff` (`staff_id`) ON DELETE RESTRICT ON UPDATE CASCADE
|
|
433
|
+
) ENGINE=InnoDB AUTO_INCREMENT=16050 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
434
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
435
|
+
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
436
|
+
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
437
|
+
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
438
|
+
/*!50003 SET character_set_client = utf8mb4 */ ;
|
|
439
|
+
/*!50003 SET character_set_results = utf8mb4 */ ;
|
|
440
|
+
/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ;
|
|
441
|
+
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
442
|
+
/*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_ENGINE_SUBSTITUTION' */ ;
|
|
443
|
+
DELIMITER ;;
|
|
444
|
+
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `payment_date` BEFORE INSERT ON `payment` FOR EACH ROW SET NEW.payment_date = NOW() */;;
|
|
445
|
+
DELIMITER ;
|
|
446
|
+
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
447
|
+
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
448
|
+
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
449
|
+
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
450
|
+
|
|
451
|
+
--
|
|
452
|
+
-- Table structure for table `rental`
|
|
453
|
+
--
|
|
454
|
+
|
|
455
|
+
DROP TABLE IF EXISTS `rental`;
|
|
456
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
457
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
458
|
+
CREATE TABLE `rental` (
|
|
459
|
+
`rental_id` int NOT NULL AUTO_INCREMENT,
|
|
460
|
+
`rental_date` datetime NOT NULL,
|
|
461
|
+
`inventory_id` mediumint unsigned NOT NULL,
|
|
462
|
+
`customer_id` smallint unsigned NOT NULL,
|
|
463
|
+
`return_date` datetime DEFAULT NULL,
|
|
464
|
+
`staff_id` tinyint unsigned NOT NULL,
|
|
465
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
466
|
+
PRIMARY KEY (`rental_id`),
|
|
467
|
+
UNIQUE KEY `rental_date` (`rental_date`,`inventory_id`,`customer_id`),
|
|
468
|
+
KEY `idx_fk_inventory_id` (`inventory_id`),
|
|
469
|
+
KEY `idx_fk_customer_id` (`customer_id`),
|
|
470
|
+
KEY `idx_fk_staff_id` (`staff_id`),
|
|
471
|
+
CONSTRAINT `fk_rental_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
472
|
+
CONSTRAINT `fk_rental_inventory` FOREIGN KEY (`inventory_id`) REFERENCES `inventory` (`inventory_id`) ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
473
|
+
CONSTRAINT `fk_rental_staff` FOREIGN KEY (`staff_id`) REFERENCES `staff` (`staff_id`) ON DELETE RESTRICT ON UPDATE CASCADE
|
|
474
|
+
) ENGINE=InnoDB AUTO_INCREMENT=16050 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
475
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
476
|
+
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
|
477
|
+
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
|
478
|
+
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
|
479
|
+
/*!50003 SET character_set_client = utf8mb4 */ ;
|
|
480
|
+
/*!50003 SET character_set_results = utf8mb4 */ ;
|
|
481
|
+
/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ;
|
|
482
|
+
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
|
483
|
+
/*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_ENGINE_SUBSTITUTION' */ ;
|
|
484
|
+
DELIMITER ;;
|
|
485
|
+
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `rental_date` BEFORE INSERT ON `rental` FOR EACH ROW SET NEW.rental_date = NOW() */;;
|
|
486
|
+
DELIMITER ;
|
|
487
|
+
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
|
488
|
+
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
|
489
|
+
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
|
490
|
+
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
|
491
|
+
|
|
492
|
+
--
|
|
493
|
+
-- Temporary view structure for view `sales_by_film_category`
|
|
494
|
+
--
|
|
495
|
+
|
|
496
|
+
DROP TABLE IF EXISTS `sales_by_film_category`;
|
|
497
|
+
/*!50001 DROP VIEW IF EXISTS `sales_by_film_category`*/;
|
|
498
|
+
SET @saved_cs_client = @@character_set_client;
|
|
499
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
500
|
+
/*!50001 CREATE VIEW `sales_by_film_category` AS SELECT
|
|
501
|
+
1 AS `category`,
|
|
502
|
+
1 AS `total_sales`*/;
|
|
503
|
+
SET character_set_client = @saved_cs_client;
|
|
504
|
+
|
|
505
|
+
--
|
|
506
|
+
-- Temporary view structure for view `sales_by_store`
|
|
507
|
+
--
|
|
508
|
+
|
|
509
|
+
DROP TABLE IF EXISTS `sales_by_store`;
|
|
510
|
+
/*!50001 DROP VIEW IF EXISTS `sales_by_store`*/;
|
|
511
|
+
SET @saved_cs_client = @@character_set_client;
|
|
512
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
513
|
+
/*!50001 CREATE VIEW `sales_by_store` AS SELECT
|
|
514
|
+
1 AS `store`,
|
|
515
|
+
1 AS `manager`,
|
|
516
|
+
1 AS `total_sales`*/;
|
|
517
|
+
SET character_set_client = @saved_cs_client;
|
|
518
|
+
|
|
519
|
+
--
|
|
520
|
+
-- Table structure for table `staff`
|
|
521
|
+
--
|
|
522
|
+
|
|
523
|
+
DROP TABLE IF EXISTS `staff`;
|
|
524
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
525
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
526
|
+
CREATE TABLE `staff` (
|
|
527
|
+
`staff_id` tinyint unsigned NOT NULL AUTO_INCREMENT,
|
|
528
|
+
`first_name` varchar(45) NOT NULL,
|
|
529
|
+
`last_name` varchar(45) NOT NULL,
|
|
530
|
+
`address_id` smallint unsigned NOT NULL,
|
|
531
|
+
`picture` blob,
|
|
532
|
+
`email` varchar(50) DEFAULT NULL,
|
|
533
|
+
`store_id` tinyint unsigned NOT NULL,
|
|
534
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
535
|
+
`username` varchar(16) NOT NULL,
|
|
536
|
+
`password` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
|
537
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
538
|
+
PRIMARY KEY (`staff_id`),
|
|
539
|
+
KEY `idx_fk_store_id` (`store_id`),
|
|
540
|
+
KEY `idx_fk_address_id` (`address_id`),
|
|
541
|
+
CONSTRAINT `fk_staff_address` FOREIGN KEY (`address_id`) REFERENCES `address` (`address_id`) ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
542
|
+
CONSTRAINT `fk_staff_store` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE RESTRICT ON UPDATE CASCADE
|
|
543
|
+
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
544
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
545
|
+
|
|
546
|
+
--
|
|
547
|
+
-- Temporary view structure for view `staff_list`
|
|
548
|
+
--
|
|
549
|
+
|
|
550
|
+
DROP TABLE IF EXISTS `staff_list`;
|
|
551
|
+
/*!50001 DROP VIEW IF EXISTS `staff_list`*/;
|
|
552
|
+
SET @saved_cs_client = @@character_set_client;
|
|
553
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
554
|
+
/*!50001 CREATE VIEW `staff_list` AS SELECT
|
|
555
|
+
1 AS `ID`,
|
|
556
|
+
1 AS `name`,
|
|
557
|
+
1 AS `address`,
|
|
558
|
+
1 AS `zip code`,
|
|
559
|
+
1 AS `phone`,
|
|
560
|
+
1 AS `city`,
|
|
561
|
+
1 AS `country`,
|
|
562
|
+
1 AS `SID`*/;
|
|
563
|
+
SET character_set_client = @saved_cs_client;
|
|
564
|
+
|
|
565
|
+
--
|
|
566
|
+
-- Table structure for table `store`
|
|
567
|
+
--
|
|
568
|
+
|
|
569
|
+
DROP TABLE IF EXISTS `store`;
|
|
570
|
+
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
571
|
+
/*!50503 SET character_set_client = utf8mb4 */;
|
|
572
|
+
CREATE TABLE `store` (
|
|
573
|
+
`store_id` tinyint unsigned NOT NULL AUTO_INCREMENT,
|
|
574
|
+
`manager_staff_id` tinyint unsigned NOT NULL,
|
|
575
|
+
`address_id` smallint unsigned NOT NULL,
|
|
576
|
+
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
577
|
+
PRIMARY KEY (`store_id`),
|
|
578
|
+
UNIQUE KEY `idx_unique_manager` (`manager_staff_id`),
|
|
579
|
+
KEY `idx_fk_address_id` (`address_id`),
|
|
580
|
+
CONSTRAINT `fk_store_address` FOREIGN KEY (`address_id`) REFERENCES `address` (`address_id`) ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
581
|
+
CONSTRAINT `fk_store_staff` FOREIGN KEY (`manager_staff_id`) REFERENCES `staff` (`staff_id`) ON DELETE RESTRICT ON UPDATE CASCADE
|
|
582
|
+
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
583
|
+
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
584
|
+
|
|
585
|
+
--
|
|
586
|
+
-- Final view structure for view `actor_info`
|
|
587
|
+
--
|
|
588
|
+
|
|
589
|
+
/*!50001 DROP VIEW IF EXISTS `actor_info`*/;
|
|
590
|
+
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
|
591
|
+
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
|
592
|
+
/*!50001 SET @saved_col_connection = @@collation_connection */;
|
|
593
|
+
/*!50001 SET character_set_client = utf8mb4 */;
|
|
594
|
+
/*!50001 SET character_set_results = utf8mb4 */;
|
|
595
|
+
/*!50001 SET collation_connection = utf8mb4_0900_ai_ci */;
|
|
596
|
+
/*!50001 CREATE ALGORITHM=UNDEFINED */
|
|
597
|
+
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY INVOKER */
|
|
598
|
+
/*!50001 VIEW `actor_info` AS select `a`.`actor_id` AS `actor_id`,`a`.`first_name` AS `first_name`,`a`.`last_name` AS `last_name`,group_concat(distinct concat(`c`.`name`,': ',(select group_concat(`f`.`title` order by `f`.`title` ASC separator ', ') from ((`film` `f` join `film_category` `fc` on((`f`.`film_id` = `fc`.`film_id`))) join `film_actor` `fa` on((`f`.`film_id` = `fa`.`film_id`))) where ((`fc`.`category_id` = `c`.`category_id`) and (`fa`.`actor_id` = `a`.`actor_id`)))) order by `c`.`name` ASC separator '; ') AS `film_info` from (((`actor` `a` left join `film_actor` `fa` on((`a`.`actor_id` = `fa`.`actor_id`))) left join `film_category` `fc` on((`fa`.`film_id` = `fc`.`film_id`))) left join `category` `c` on((`fc`.`category_id` = `c`.`category_id`))) group by `a`.`actor_id`,`a`.`first_name`,`a`.`last_name` */;
|
|
599
|
+
/*!50001 SET character_set_client = @saved_cs_client */;
|
|
600
|
+
/*!50001 SET character_set_results = @saved_cs_results */;
|
|
601
|
+
/*!50001 SET collation_connection = @saved_col_connection */;
|
|
602
|
+
|
|
603
|
+
--
|
|
604
|
+
-- Final view structure for view `customer_list`
|
|
605
|
+
--
|
|
606
|
+
|
|
607
|
+
/*!50001 DROP VIEW IF EXISTS `customer_list`*/;
|
|
608
|
+
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
|
609
|
+
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
|
610
|
+
/*!50001 SET @saved_col_connection = @@collation_connection */;
|
|
611
|
+
/*!50001 SET character_set_client = utf8mb4 */;
|
|
612
|
+
/*!50001 SET character_set_results = utf8mb4 */;
|
|
613
|
+
/*!50001 SET collation_connection = utf8mb4_0900_ai_ci */;
|
|
614
|
+
/*!50001 CREATE ALGORITHM=UNDEFINED */
|
|
615
|
+
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
|
|
616
|
+
/*!50001 VIEW `customer_list` AS select `cu`.`customer_id` AS `ID`,concat(`cu`.`first_name`,_utf8mb4' ',`cu`.`last_name`) AS `name`,`a`.`address` AS `address`,`a`.`postal_code` AS `zip code`,`a`.`phone` AS `phone`,`city`.`city` AS `city`,`country`.`country` AS `country`,if(`cu`.`active`,_utf8mb4'active',_utf8mb4'') AS `notes`,`cu`.`store_id` AS `SID` from (((`customer` `cu` join `address` `a` on((`cu`.`address_id` = `a`.`address_id`))) join `city` on((`a`.`city_id` = `city`.`city_id`))) join `country` on((`city`.`country_id` = `country`.`country_id`))) */;
|
|
617
|
+
/*!50001 SET character_set_client = @saved_cs_client */;
|
|
618
|
+
/*!50001 SET character_set_results = @saved_cs_results */;
|
|
619
|
+
/*!50001 SET collation_connection = @saved_col_connection */;
|
|
620
|
+
|
|
621
|
+
--
|
|
622
|
+
-- Final view structure for view `film_list`
|
|
623
|
+
--
|
|
624
|
+
|
|
625
|
+
/*!50001 DROP VIEW IF EXISTS `film_list`*/;
|
|
626
|
+
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
|
627
|
+
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
|
628
|
+
/*!50001 SET @saved_col_connection = @@collation_connection */;
|
|
629
|
+
/*!50001 SET character_set_client = utf8mb4 */;
|
|
630
|
+
/*!50001 SET character_set_results = utf8mb4 */;
|
|
631
|
+
/*!50001 SET collation_connection = utf8mb4_0900_ai_ci */;
|
|
632
|
+
/*!50001 CREATE ALGORITHM=UNDEFINED */
|
|
633
|
+
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
|
|
634
|
+
/*!50001 VIEW `film_list` AS select `film`.`film_id` AS `FID`,`film`.`title` AS `title`,`film`.`description` AS `description`,`category`.`name` AS `category`,`film`.`rental_rate` AS `price`,`film`.`length` AS `length`,`film`.`rating` AS `rating`,group_concat(concat(`actor`.`first_name`,_utf8mb4' ',`actor`.`last_name`) separator ', ') AS `actors` from ((((`film` left join `film_category` on((`film_category`.`film_id` = `film`.`film_id`))) left join `category` on((`category`.`category_id` = `film_category`.`category_id`))) left join `film_actor` on((`film`.`film_id` = `film_actor`.`film_id`))) left join `actor` on((`film_actor`.`actor_id` = `actor`.`actor_id`))) group by `film`.`film_id`,`category`.`name` */;
|
|
635
|
+
/*!50001 SET character_set_client = @saved_cs_client */;
|
|
636
|
+
/*!50001 SET character_set_results = @saved_cs_results */;
|
|
637
|
+
/*!50001 SET collation_connection = @saved_col_connection */;
|
|
638
|
+
|
|
639
|
+
--
|
|
640
|
+
-- Final view structure for view `nicer_but_slower_film_list`
|
|
641
|
+
--
|
|
642
|
+
|
|
643
|
+
/*!50001 DROP VIEW IF EXISTS `nicer_but_slower_film_list`*/;
|
|
644
|
+
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
|
645
|
+
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
|
646
|
+
/*!50001 SET @saved_col_connection = @@collation_connection */;
|
|
647
|
+
/*!50001 SET character_set_client = utf8mb4 */;
|
|
648
|
+
/*!50001 SET character_set_results = utf8mb4 */;
|
|
649
|
+
/*!50001 SET collation_connection = utf8mb4_0900_ai_ci */;
|
|
650
|
+
/*!50001 CREATE ALGORITHM=UNDEFINED */
|
|
651
|
+
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
|
|
652
|
+
/*!50001 VIEW `nicer_but_slower_film_list` AS select `film`.`film_id` AS `FID`,`film`.`title` AS `title`,`film`.`description` AS `description`,`category`.`name` AS `category`,`film`.`rental_rate` AS `price`,`film`.`length` AS `length`,`film`.`rating` AS `rating`,group_concat(concat(concat(upper(substr(`actor`.`first_name`,1,1)),lower(substr(`actor`.`first_name`,2,length(`actor`.`first_name`))),_utf8mb4' ',concat(upper(substr(`actor`.`last_name`,1,1)),lower(substr(`actor`.`last_name`,2,length(`actor`.`last_name`)))))) separator ', ') AS `actors` from ((((`film` left join `film_category` on((`film_category`.`film_id` = `film`.`film_id`))) left join `category` on((`category`.`category_id` = `film_category`.`category_id`))) left join `film_actor` on((`film`.`film_id` = `film_actor`.`film_id`))) left join `actor` on((`film_actor`.`actor_id` = `actor`.`actor_id`))) group by `film`.`film_id`,`category`.`name` */;
|
|
653
|
+
/*!50001 SET character_set_client = @saved_cs_client */;
|
|
654
|
+
/*!50001 SET character_set_results = @saved_cs_results */;
|
|
655
|
+
/*!50001 SET collation_connection = @saved_col_connection */;
|
|
656
|
+
|
|
657
|
+
--
|
|
658
|
+
-- Final view structure for view `sales_by_film_category`
|
|
659
|
+
--
|
|
660
|
+
|
|
661
|
+
/*!50001 DROP VIEW IF EXISTS `sales_by_film_category`*/;
|
|
662
|
+
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
|
663
|
+
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
|
664
|
+
/*!50001 SET @saved_col_connection = @@collation_connection */;
|
|
665
|
+
/*!50001 SET character_set_client = utf8mb4 */;
|
|
666
|
+
/*!50001 SET character_set_results = utf8mb4 */;
|
|
667
|
+
/*!50001 SET collation_connection = utf8mb4_0900_ai_ci */;
|
|
668
|
+
/*!50001 CREATE ALGORITHM=UNDEFINED */
|
|
669
|
+
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
|
|
670
|
+
/*!50001 VIEW `sales_by_film_category` AS select `c`.`name` AS `category`,sum(`p`.`amount`) AS `total_sales` from (((((`payment` `p` join `rental` `r` on((`p`.`rental_id` = `r`.`rental_id`))) join `inventory` `i` on((`r`.`inventory_id` = `i`.`inventory_id`))) join `film` `f` on((`i`.`film_id` = `f`.`film_id`))) join `film_category` `fc` on((`f`.`film_id` = `fc`.`film_id`))) join `category` `c` on((`fc`.`category_id` = `c`.`category_id`))) group by `c`.`name` order by `total_sales` desc */;
|
|
671
|
+
/*!50001 SET character_set_client = @saved_cs_client */;
|
|
672
|
+
/*!50001 SET character_set_results = @saved_cs_results */;
|
|
673
|
+
/*!50001 SET collation_connection = @saved_col_connection */;
|
|
674
|
+
|
|
675
|
+
--
|
|
676
|
+
-- Final view structure for view `sales_by_store`
|
|
677
|
+
--
|
|
678
|
+
|
|
679
|
+
/*!50001 DROP VIEW IF EXISTS `sales_by_store`*/;
|
|
680
|
+
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
|
681
|
+
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
|
682
|
+
/*!50001 SET @saved_col_connection = @@collation_connection */;
|
|
683
|
+
/*!50001 SET character_set_client = utf8mb4 */;
|
|
684
|
+
/*!50001 SET character_set_results = utf8mb4 */;
|
|
685
|
+
/*!50001 SET collation_connection = utf8mb4_0900_ai_ci */;
|
|
686
|
+
/*!50001 CREATE ALGORITHM=UNDEFINED */
|
|
687
|
+
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
|
|
688
|
+
/*!50001 VIEW `sales_by_store` AS select concat(`c`.`city`,_utf8mb4',',`cy`.`country`) AS `store`,concat(`m`.`first_name`,_utf8mb4' ',`m`.`last_name`) AS `manager`,sum(`p`.`amount`) AS `total_sales` from (((((((`payment` `p` join `rental` `r` on((`p`.`rental_id` = `r`.`rental_id`))) join `inventory` `i` on((`r`.`inventory_id` = `i`.`inventory_id`))) join `store` `s` on((`i`.`store_id` = `s`.`store_id`))) join `address` `a` on((`s`.`address_id` = `a`.`address_id`))) join `city` `c` on((`a`.`city_id` = `c`.`city_id`))) join `country` `cy` on((`c`.`country_id` = `cy`.`country_id`))) join `staff` `m` on((`s`.`manager_staff_id` = `m`.`staff_id`))) group by `s`.`store_id` order by `cy`.`country`,`c`.`city` */;
|
|
689
|
+
/*!50001 SET character_set_client = @saved_cs_client */;
|
|
690
|
+
/*!50001 SET character_set_results = @saved_cs_results */;
|
|
691
|
+
/*!50001 SET collation_connection = @saved_col_connection */;
|
|
692
|
+
|
|
693
|
+
--
|
|
694
|
+
-- Final view structure for view `staff_list`
|
|
695
|
+
--
|
|
696
|
+
|
|
697
|
+
/*!50001 DROP VIEW IF EXISTS `staff_list`*/;
|
|
698
|
+
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
|
699
|
+
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
|
700
|
+
/*!50001 SET @saved_col_connection = @@collation_connection */;
|
|
701
|
+
/*!50001 SET character_set_client = utf8mb4 */;
|
|
702
|
+
/*!50001 SET character_set_results = utf8mb4 */;
|
|
703
|
+
/*!50001 SET collation_connection = utf8mb4_0900_ai_ci */;
|
|
704
|
+
/*!50001 CREATE ALGORITHM=UNDEFINED */
|
|
705
|
+
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
|
|
706
|
+
/*!50001 VIEW `staff_list` AS select `s`.`staff_id` AS `ID`,concat(`s`.`first_name`,_utf8mb4' ',`s`.`last_name`) AS `name`,`a`.`address` AS `address`,`a`.`postal_code` AS `zip code`,`a`.`phone` AS `phone`,`city`.`city` AS `city`,`country`.`country` AS `country`,`s`.`store_id` AS `SID` from (((`staff` `s` join `address` `a` on((`s`.`address_id` = `a`.`address_id`))) join `city` on((`a`.`city_id` = `city`.`city_id`))) join `country` on((`city`.`country_id` = `country`.`country_id`))) */;
|
|
707
|
+
/*!50001 SET character_set_client = @saved_cs_client */;
|
|
708
|
+
/*!50001 SET character_set_results = @saved_cs_results */;
|
|
709
|
+
/*!50001 SET collation_connection = @saved_col_connection */;
|
|
710
|
+
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
|
711
|
+
|
|
712
|
+
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
|
713
|
+
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
|
714
|
+
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
|
715
|
+
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
|
716
|
+
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
|
717
|
+
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
|
718
|
+
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
|
719
|
+
|
|
720
|
+
-- Dump completed on 2026-01-24 1:11:32
|