@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.
Files changed (155) hide show
  1. package/README.md +158 -49
  2. package/dist/api/executors/SqlExecutor.d.ts +6 -0
  3. package/dist/api/handlers/ExpressHandler.d.ts +2 -1
  4. package/dist/api/types/ormInterfaces.d.ts +12 -0
  5. package/dist/api/utils/sqlAllowList.d.ts +2 -0
  6. package/dist/index.cjs.js +247 -10
  7. package/dist/index.cjs.js.map +1 -1
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.esm.js +246 -11
  10. package/dist/index.esm.js.map +1 -1
  11. package/package.json +1 -1
  12. package/scripts/assets/handlebars/C6.test.ts.handlebars +578 -32
  13. package/scripts/generateRestBindings.cjs +5 -5
  14. package/scripts/generateRestBindings.ts +5 -5
  15. package/src/__tests__/fixtures/createTestServer.ts +11 -3
  16. package/src/__tests__/fixtures/sqlResponses/actor.get.json +13 -0
  17. package/src/__tests__/fixtures/sqlResponses/sqlAllowList.blocked.json +3 -0
  18. package/src/__tests__/fixtures/sqlResponses/sqlAllowList.json +3 -0
  19. package/src/__tests__/sakila-db/C6.js +1 -1
  20. package/src/__tests__/sakila-db/C6.mysql.cnf +6 -0
  21. package/src/__tests__/sakila-db/C6.mysqldump.json +1 -0
  22. package/src/__tests__/sakila-db/C6.mysqldump.sql +720 -0
  23. package/src/__tests__/sakila-db/C6.sqlAllowList.json +94 -0
  24. package/src/__tests__/sakila-db/C6.test.ts +578 -32
  25. package/src/__tests__/sakila-db/C6.ts +1 -1
  26. package/src/__tests__/sakila-db/sqlResponses/C6.actor.delete.json +10 -0
  27. package/src/__tests__/sakila-db/sqlResponses/C6.actor.delete.lookup.json +9 -0
  28. package/src/__tests__/sakila-db/sqlResponses/C6.actor.get.json +14 -0
  29. package/src/__tests__/sakila-db/sqlResponses/C6.actor.join.json +15 -0
  30. package/src/__tests__/sakila-db/sqlResponses/C6.actor.post.json +12 -0
  31. package/src/__tests__/sakila-db/sqlResponses/C6.actor.post.latest.json +14 -0
  32. package/src/__tests__/sakila-db/sqlResponses/C6.actor.put.json +11 -0
  33. package/src/__tests__/sakila-db/sqlResponses/C6.actor.put.lookup.json +16 -0
  34. package/src/__tests__/sakila-db/sqlResponses/C6.actor.seed.json +14 -0
  35. package/src/__tests__/sakila-db/sqlResponses/C6.address.delete.json +10 -0
  36. package/src/__tests__/sakila-db/sqlResponses/C6.address.delete.lookup.json +9 -0
  37. package/src/__tests__/sakila-db/sqlResponses/C6.address.fk.current.json +358 -0
  38. package/src/__tests__/sakila-db/sqlResponses/C6.address.fk.referenced.json +158 -0
  39. package/src/__tests__/sakila-db/sqlResponses/C6.address.get.json +22 -0
  40. package/src/__tests__/sakila-db/sqlResponses/C6.address.join.json +24 -0
  41. package/src/__tests__/sakila-db/sqlResponses/C6.address.post.json +16 -0
  42. package/src/__tests__/sakila-db/sqlResponses/C6.address.post.latest.json +22 -0
  43. package/src/__tests__/sakila-db/sqlResponses/C6.address.put.json +11 -0
  44. package/src/__tests__/sakila-db/sqlResponses/C6.address.put.lookup.json +24 -0
  45. package/src/__tests__/sakila-db/sqlResponses/C6.address.seed.json +22 -0
  46. package/src/__tests__/sakila-db/sqlResponses/C6.category.delete.json +10 -0
  47. package/src/__tests__/sakila-db/sqlResponses/C6.category.delete.lookup.json +9 -0
  48. package/src/__tests__/sakila-db/sqlResponses/C6.category.get.json +13 -0
  49. package/src/__tests__/sakila-db/sqlResponses/C6.category.join.json +14 -0
  50. package/src/__tests__/sakila-db/sqlResponses/C6.category.post.json +11 -0
  51. package/src/__tests__/sakila-db/sqlResponses/C6.category.post.latest.json +13 -0
  52. package/src/__tests__/sakila-db/sqlResponses/C6.category.put.json +11 -0
  53. package/src/__tests__/sakila-db/sqlResponses/C6.category.put.lookup.json +15 -0
  54. package/src/__tests__/sakila-db/sqlResponses/C6.category.seed.json +13 -0
  55. package/src/__tests__/sakila-db/sqlResponses/C6.city.delete.json +10 -0
  56. package/src/__tests__/sakila-db/sqlResponses/C6.city.delete.lookup.json +9 -0
  57. package/src/__tests__/sakila-db/sqlResponses/C6.city.fk.current.json +158 -0
  58. package/src/__tests__/sakila-db/sqlResponses/C6.city.fk.referenced.json +133 -0
  59. package/src/__tests__/sakila-db/sqlResponses/C6.city.get.json +14 -0
  60. package/src/__tests__/sakila-db/sqlResponses/C6.city.join.json +15 -0
  61. package/src/__tests__/sakila-db/sqlResponses/C6.city.post.json +12 -0
  62. package/src/__tests__/sakila-db/sqlResponses/C6.city.post.latest.json +14 -0
  63. package/src/__tests__/sakila-db/sqlResponses/C6.city.put.json +11 -0
  64. package/src/__tests__/sakila-db/sqlResponses/C6.city.put.lookup.json +16 -0
  65. package/src/__tests__/sakila-db/sqlResponses/C6.city.seed.json +14 -0
  66. package/src/__tests__/sakila-db/sqlResponses/C6.country.delete.json +10 -0
  67. package/src/__tests__/sakila-db/sqlResponses/C6.country.delete.lookup.json +9 -0
  68. package/src/__tests__/sakila-db/sqlResponses/C6.country.get.json +13 -0
  69. package/src/__tests__/sakila-db/sqlResponses/C6.country.join.json +15 -0
  70. package/src/__tests__/sakila-db/sqlResponses/C6.country.post.json +11 -0
  71. package/src/__tests__/sakila-db/sqlResponses/C6.country.post.latest.json +13 -0
  72. package/src/__tests__/sakila-db/sqlResponses/C6.country.put.json +11 -0
  73. package/src/__tests__/sakila-db/sqlResponses/C6.country.put.lookup.json +15 -0
  74. package/src/__tests__/sakila-db/sqlResponses/C6.country.seed.json +13 -0
  75. package/src/__tests__/sakila-db/sqlResponses/C6.customer.delete.json +10 -0
  76. package/src/__tests__/sakila-db/sqlResponses/C6.customer.delete.lookup.json +9 -0
  77. package/src/__tests__/sakila-db/sqlResponses/C6.customer.fk.current.json +283 -0
  78. package/src/__tests__/sakila-db/sqlResponses/C6.customer.fk.referenced.json +358 -0
  79. package/src/__tests__/sakila-db/sqlResponses/C6.customer.get.json +19 -0
  80. package/src/__tests__/sakila-db/sqlResponses/C6.customer.join.json +29 -0
  81. package/src/__tests__/sakila-db/sqlResponses/C6.customer.post.json +17 -0
  82. package/src/__tests__/sakila-db/sqlResponses/C6.customer.post.latest.json +19 -0
  83. package/src/__tests__/sakila-db/sqlResponses/C6.customer.put.json +11 -0
  84. package/src/__tests__/sakila-db/sqlResponses/C6.customer.put.lookup.json +21 -0
  85. package/src/__tests__/sakila-db/sqlResponses/C6.customer.seed.json +19 -0
  86. package/src/__tests__/sakila-db/sqlResponses/C6.film.delete.json +10 -0
  87. package/src/__tests__/sakila-db/sqlResponses/C6.film.delete.lookup.json +9 -0
  88. package/src/__tests__/sakila-db/sqlResponses/C6.film.fk.current.json +383 -0
  89. package/src/__tests__/sakila-db/sqlResponses/C6.film.fk.referenced.json +38 -0
  90. package/src/__tests__/sakila-db/sqlResponses/C6.film.get.json +23 -0
  91. package/src/__tests__/sakila-db/sqlResponses/C6.film.join.json +24 -0
  92. package/src/__tests__/sakila-db/sqlResponses/C6.film.post.json +20 -0
  93. package/src/__tests__/sakila-db/sqlResponses/C6.film.post.latest.json +23 -0
  94. package/src/__tests__/sakila-db/sqlResponses/C6.film.put.json +11 -0
  95. package/src/__tests__/sakila-db/sqlResponses/C6.film.put.lookup.json +25 -0
  96. package/src/__tests__/sakila-db/sqlResponses/C6.film.seed.json +23 -0
  97. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.delete.json +10 -0
  98. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.delete.lookup.json +9 -0
  99. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.fk.current.json +158 -0
  100. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.fk.referenced.json +20 -0
  101. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.get.json +14 -0
  102. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.join.json +25 -0
  103. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.post.json +12 -0
  104. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.post.latest.json +14 -0
  105. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.put.json +11 -0
  106. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.put.lookup.json +16 -0
  107. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.seed.json +14 -0
  108. package/src/__tests__/sakila-db/sqlResponses/C6.language.delete.json +10 -0
  109. package/src/__tests__/sakila-db/sqlResponses/C6.language.delete.lookup.json +9 -0
  110. package/src/__tests__/sakila-db/sqlResponses/C6.language.get.json +13 -0
  111. package/src/__tests__/sakila-db/sqlResponses/C6.language.join.json +24 -0
  112. package/src/__tests__/sakila-db/sqlResponses/C6.language.post.json +11 -0
  113. package/src/__tests__/sakila-db/sqlResponses/C6.language.post.latest.json +13 -0
  114. package/src/__tests__/sakila-db/sqlResponses/C6.language.put.json +11 -0
  115. package/src/__tests__/sakila-db/sqlResponses/C6.language.put.lookup.json +15 -0
  116. package/src/__tests__/sakila-db/sqlResponses/C6.language.seed.json +13 -0
  117. package/src/__tests__/sakila-db/sqlResponses/C6.payment.delete.json +10 -0
  118. package/src/__tests__/sakila-db/sqlResponses/C6.payment.delete.lookup.json +9 -0
  119. package/src/__tests__/sakila-db/sqlResponses/C6.payment.fk.current.json +233 -0
  120. package/src/__tests__/sakila-db/sqlResponses/C6.payment.fk.referenced.json +233 -0
  121. package/src/__tests__/sakila-db/sqlResponses/C6.payment.get.json +17 -0
  122. package/src/__tests__/sakila-db/sqlResponses/C6.payment.join.json +24 -0
  123. package/src/__tests__/sakila-db/sqlResponses/C6.payment.post.json +15 -0
  124. package/src/__tests__/sakila-db/sqlResponses/C6.payment.post.latest.json +17 -0
  125. package/src/__tests__/sakila-db/sqlResponses/C6.payment.put.json +11 -0
  126. package/src/__tests__/sakila-db/sqlResponses/C6.payment.put.lookup.json +19 -0
  127. package/src/__tests__/sakila-db/sqlResponses/C6.payment.seed.json +17 -0
  128. package/src/__tests__/sakila-db/sqlResponses/C6.rental.delete.json +10 -0
  129. package/src/__tests__/sakila-db/sqlResponses/C6.rental.delete.lookup.json +9 -0
  130. package/src/__tests__/sakila-db/sqlResponses/C6.rental.fk.current.json +233 -0
  131. package/src/__tests__/sakila-db/sqlResponses/C6.rental.fk.referenced.json +34 -0
  132. package/src/__tests__/sakila-db/sqlResponses/C6.rental.get.json +17 -0
  133. package/src/__tests__/sakila-db/sqlResponses/C6.rental.join.json +24 -0
  134. package/src/__tests__/sakila-db/sqlResponses/C6.rental.post.json +15 -0
  135. package/src/__tests__/sakila-db/sqlResponses/C6.rental.post.latest.json +17 -0
  136. package/src/__tests__/sakila-db/sqlResponses/C6.rental.put.json +11 -0
  137. package/src/__tests__/sakila-db/sqlResponses/C6.rental.put.lookup.json +19 -0
  138. package/src/__tests__/sakila-db/sqlResponses/C6.rental.seed.json +17 -0
  139. package/src/__tests__/sakila-db/sqlResponses/C6.staff.fk.current.json +34 -0
  140. package/src/__tests__/sakila-db/sqlResponses/C6.staff.fk.referenced.json +20 -0
  141. package/src/__tests__/sakila-db/sqlResponses/C6.staff.get.json +21 -0
  142. package/src/__tests__/sakila-db/sqlResponses/C6.staff.join.json +31 -0
  143. package/src/__tests__/sakila-db/sqlResponses/C6.staff.seed.json +21 -0
  144. package/src/__tests__/sakila-db/sqlResponses/C6.store.fk.current.json +20 -0
  145. package/src/__tests__/sakila-db/sqlResponses/C6.store.fk.referenced.json +34 -0
  146. package/src/__tests__/sakila-db/sqlResponses/C6.store.get.json +14 -0
  147. package/src/__tests__/sakila-db/sqlResponses/C6.store.join.json +24 -0
  148. package/src/__tests__/sakila-db/sqlResponses/C6.store.seed.json +14 -0
  149. package/src/__tests__/sakila.generated.test.ts +31 -0
  150. package/src/__tests__/sqlAllowList.test.ts +135 -0
  151. package/src/api/executors/SqlExecutor.ts +156 -0
  152. package/src/api/handlers/ExpressHandler.ts +10 -1
  153. package/src/api/types/ormInterfaces.ts +15 -0
  154. package/src/api/utils/sqlAllowList.ts +54 -0
  155. package/src/index.ts +1 -0
@@ -50,7 +50,7 @@ class MySQLDump {
50
50
 
51
51
  if ('' === cnfFile) {
52
52
 
53
- cnfFile = path.join(process.cwd(), '/mysql.cnf');
53
+ cnfFile = path.join(this.OUTPUT_DIR, 'C6.mysql.cnf');
54
54
 
55
55
  }
56
56
 
@@ -60,11 +60,11 @@ class MySQLDump {
60
60
 
61
61
  fs.chmodSync(cnfFile, 0o750);
62
62
 
63
- console.log(`Successfully created mysql.cnf file in (${cnfFile})`);
63
+ console.log(`Successfully created C6.mysql.cnf file in (${cnfFile})`);
64
64
 
65
65
  } catch (error) {
66
66
 
67
- console.error(`Failed to store file contents of mysql.cnf in (${process.cwd()})`, error);
67
+ console.error(`Failed to store file contents of C6.mysql.cnf in (${process.cwd()})`, error);
68
68
 
69
69
  process.exit(1);
70
70
 
@@ -77,7 +77,7 @@ class MySQLDump {
77
77
  static MySQLDump(mysqldump: string = 'mysqldump', data = false, schemas = true, outputFile = '', otherOption = '', specificTable: string = '') {
78
78
 
79
79
  if (outputFile === '') {
80
- outputFile = path.join(process.cwd(), 'mysqldump.sql');
80
+ outputFile = path.join(this.OUTPUT_DIR, 'C6.mysqldump.sql');
81
81
  }
82
82
 
83
83
  if (!data && !schemas) {
@@ -488,7 +488,7 @@ const sql = fs.readFileSync(dumpFileLocation, 'utf-8');
488
488
  const tableData = parseSQLToTypeScript(sql);
489
489
 
490
490
  // write to file
491
- fs.writeFileSync(path.join(process.cwd(), 'C6MySqlDump.json'), JSON.stringify(tableData));
491
+ fs.writeFileSync(path.join(MySQLDump.OUTPUT_DIR, 'C6.mysqldump.json'), JSON.stringify(tableData));
492
492
 
493
493
  // import this file src/assets/handlebars/C6.tsx.handlebars for a mustache template
494
494
  const c6Template = fs.readFileSync(path.resolve(__dirname, 'assets/handlebars/C6.ts.handlebars'), 'utf-8');
@@ -3,12 +3,20 @@ import {Pool} from "mysql2/promise";
3
3
  import {iC6Object} from "src/api/types/ormInterfaces";
4
4
  import {ExpressHandler} from "../../api/handlers/ExpressHandler";
5
5
 
6
- export function createTestServer({C6, mysqlPool}: {C6: iC6Object; mysqlPool: Pool;}): Express {
6
+ export function createTestServer({
7
+ C6,
8
+ mysqlPool,
9
+ sqlAllowListPath,
10
+ }: {
11
+ C6: iC6Object;
12
+ mysqlPool: Pool;
13
+ sqlAllowListPath?: string;
14
+ }): Express {
7
15
  const app = express();
8
16
  app.set('query parser', 'extended');
9
17
  app.use(express.json());
10
- app.all("/rest/:table", ExpressHandler({C6, mysqlPool}));
11
- app.all("/rest/:table/:primary", ExpressHandler({C6, mysqlPool}));
18
+ app.all("/rest/:table", ExpressHandler({C6, mysqlPool, sqlAllowListPath}));
19
+ app.all("/rest/:table/:primary", ExpressHandler({C6, mysqlPool, sqlAllowListPath}));
12
20
  return app;
13
21
  }
14
22
 
@@ -0,0 +1,13 @@
1
+ {
2
+ "rest": [
3
+ {
4
+ "actor_id": 1,
5
+ "first_name": "PENELOPE",
6
+ "last_name": "GUINESS"
7
+ }
8
+ ],
9
+ "sql": {
10
+ "sql": "SELECT * FROM `actor` LIMIT 1",
11
+ "values": []
12
+ }
13
+ }
@@ -0,0 +1,3 @@
1
+ [
2
+ "SELECT * FROM `actor` LIMIT 1"
3
+ ]
@@ -1342,7 +1342,7 @@ export const TABLES = {
1342
1342
  };
1343
1343
  export const C6 = {
1344
1344
  ...C6Constants,
1345
- C6VERSION: '4.0.1',
1345
+ C6VERSION: '5.0.0',
1346
1346
  IMPORT: async (tableName) => {
1347
1347
  tableName = tableName.toLowerCase();
1348
1348
  // if tableName is not a key in the TABLES object then throw an error
@@ -0,0 +1,6 @@
1
+ [client]
2
+ user = root
3
+ password = password
4
+ host = 127.0.0.1
5
+ port = 3306
6
+
@@ -0,0 +1 @@
1
+ {"C6VERSION":"5.0.0","PREFIX":"","OBJECT_OVERRIDES":"","INTERFACE_OVERRIDES":"","CUSTOM_IMPORTS":"","REST_URL_EXPRESSION":"\"/rest/\"","TABLES":[{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"actor","TABLE_DEFINITION":"CREATE TABLE `actor` (\n `actor_id` smallint unsigned NOT NULL AUTO_INCREMENT,\n `first_name` varchar(45) NOT NULL,\n `last_name` varchar(45) NOT NULL,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`actor_id`),\n KEY `idx_actor_last_name` (`last_name`)\n) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"actor","TABLE_NAME_LOWER":"actor","TABLE_NAME_UPPER":"ACTOR","TABLE_NAME_PASCAL_CASE":"Actor","TABLE_NAME_SHORT_PASCAL_CASE":"Actor","PRIMARY":["actor.actor_id"],"PRIMARY_SHORT":["actor_id"],"PRIMARY_KEYS_TYPE":"'actor_id'","COLUMNS":{"actor.actor_id":"actor_id","actor.first_name":"first_name","actor.last_name":"last_name","actor.last_update":"last_update"},"COLUMNS_UPPERCASE":{"ACTOR_ID":"actor.actor_id","FIRST_NAME":"actor.first_name","LAST_NAME":"actor.last_name","LAST_UPDATE":"actor.last_update"},"TYPE_VALIDATION":{"actor.actor_id":{"COLUMN_NAME":"actor_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"actor.first_name":{"COLUMN_NAME":"first_name","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"45","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"actor.last_name":{"COLUMN_NAME":"last_name","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"45","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"actor.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{},"TABLE_REFERENCED_BY":{"actor_id":[{"TABLE":"film_actor","COLUMN":"actor_id","CONSTRAINT":"fk_film_actor_actor"}]},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"address","TABLE_DEFINITION":"CREATE TABLE `address` (\n `address_id` smallint unsigned NOT NULL AUTO_INCREMENT,\n `address` varchar(50) NOT NULL,\n `address2` varchar(50) DEFAULT NULL,\n `district` varchar(20) NOT NULL,\n `city_id` smallint unsigned NOT NULL,\n `postal_code` varchar(10) DEFAULT NULL,\n `phone` varchar(20) NOT NULL,\n `location` geometry NOT NULL /!* SRID 0 *!/,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`address_id`),\n KEY `idx_fk_city_id` (`city_id`),\n SPATIAL KEY `idx_location` (`location`),\n CONSTRAINT `fk_address_city` FOREIGN KEY (`city_id`) REFERENCES `city` (`city_id`) ON DELETE RESTRICT ON UPDATE CASCADE\n) ENGINE=InnoDB AUTO_INCREMENT=606 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"address","TABLE_NAME_LOWER":"address","TABLE_NAME_UPPER":"ADDRESS","TABLE_NAME_PASCAL_CASE":"Address","TABLE_NAME_SHORT_PASCAL_CASE":"Address","PRIMARY":["address.address_id"],"PRIMARY_SHORT":["address_id"],"PRIMARY_KEYS_TYPE":"'address_id'","COLUMNS":{"address.address_id":"address_id","address.address":"address","address.address2":"address2","address.district":"district","address.city_id":"city_id","address.postal_code":"postal_code","address.phone":"phone","address.location":"location","address.last_update":"last_update"},"COLUMNS_UPPERCASE":{"ADDRESS_ID":"address.address_id","ADDRESS":"address.address","ADDRESS2":"address.address2","DISTRICT":"address.district","CITY_ID":"address.city_id","POSTAL_CODE":"address.postal_code","PHONE":"address.phone","LOCATION":"address.location","LAST_UPDATE":"address.last_update"},"TYPE_VALIDATION":{"address.address_id":{"COLUMN_NAME":"address_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"address.address":{"COLUMN_NAME":"address","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"50","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"address.address2":{"COLUMN_NAME":"address2","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"50","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false},"address.district":{"COLUMN_NAME":"district","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"20","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"address.city_id":{"COLUMN_NAME":"city_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"address.postal_code":{"COLUMN_NAME":"postal_code","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"10","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false},"address.phone":{"COLUMN_NAME":"phone","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"20","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"address.location":{"COLUMN_NAME":"location","MYSQL_TYPE":"geometry","TYPESCRIPT_TYPE":"GeoJSON.Geometry","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"address.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{"city_id":[{"TABLE":"city","COLUMN":"city_id","CONSTRAINT":"fk_address_city"}]},"TABLE_REFERENCED_BY":{"address_id":[{"TABLE":"customer","COLUMN":"address_id","CONSTRAINT":"fk_customer_address"},{"TABLE":"staff","COLUMN":"address_id","CONSTRAINT":"fk_staff_address"},{"TABLE":"store","COLUMN":"address_id","CONSTRAINT":"fk_store_address"}]},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"binary_test","TABLE_DEFINITION":"CREATE TABLE `binary_test` (\n `id` int NOT NULL AUTO_INCREMENT,\n `bin_col` binary(16) DEFAULT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"binary_test","TABLE_NAME_LOWER":"binary_test","TABLE_NAME_UPPER":"BINARY_TEST","TABLE_NAME_PASCAL_CASE":"Binary_Test","TABLE_NAME_SHORT_PASCAL_CASE":"Binary_Test","PRIMARY":["binary_test.id"],"PRIMARY_SHORT":["id"],"PRIMARY_KEYS_TYPE":"'id'","COLUMNS":{"binary_test.id":"id","binary_test.bin_col":"bin_col"},"COLUMNS_UPPERCASE":{"ID":"binary_test.id","BIN_COL":"binary_test.bin_col"},"TYPE_VALIDATION":{"binary_test.id":{"COLUMN_NAME":"id","MYSQL_TYPE":"int","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"binary_test.bin_col":{"COLUMN_NAME":"bin_col","MYSQL_TYPE":"binary","TYPESCRIPT_TYPE":"Buffer | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"16","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{},"TABLE_REFERENCED_BY":{},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"category","TABLE_DEFINITION":"CREATE TABLE `category` (\n `category_id` tinyint unsigned NOT NULL AUTO_INCREMENT,\n `name` varchar(25) NOT NULL,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`category_id`)\n) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"category","TABLE_NAME_LOWER":"category","TABLE_NAME_UPPER":"CATEGORY","TABLE_NAME_PASCAL_CASE":"Category","TABLE_NAME_SHORT_PASCAL_CASE":"Category","PRIMARY":["category.category_id"],"PRIMARY_SHORT":["category_id"],"PRIMARY_KEYS_TYPE":"'category_id'","COLUMNS":{"category.category_id":"category_id","category.name":"name","category.last_update":"last_update"},"COLUMNS_UPPERCASE":{"CATEGORY_ID":"category.category_id","NAME":"category.name","LAST_UPDATE":"category.last_update"},"TYPE_VALIDATION":{"category.category_id":{"COLUMN_NAME":"category_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"category.name":{"COLUMN_NAME":"name","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"25","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"category.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{},"TABLE_REFERENCED_BY":{"category_id":[{"TABLE":"film_category","COLUMN":"category_id","CONSTRAINT":"fk_film_category_category"}]},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"city","TABLE_DEFINITION":"CREATE TABLE `city` (\n `city_id` smallint unsigned NOT NULL AUTO_INCREMENT,\n `city` varchar(50) NOT NULL,\n `country_id` smallint unsigned NOT NULL,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`city_id`),\n KEY `idx_fk_country_id` (`country_id`),\n CONSTRAINT `fk_city_country` FOREIGN KEY (`country_id`) REFERENCES `country` (`country_id`) ON DELETE RESTRICT ON UPDATE CASCADE\n) ENGINE=InnoDB AUTO_INCREMENT=601 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"city","TABLE_NAME_LOWER":"city","TABLE_NAME_UPPER":"CITY","TABLE_NAME_PASCAL_CASE":"City","TABLE_NAME_SHORT_PASCAL_CASE":"City","PRIMARY":["city.city_id"],"PRIMARY_SHORT":["city_id"],"PRIMARY_KEYS_TYPE":"'city_id'","COLUMNS":{"city.city_id":"city_id","city.city":"city","city.country_id":"country_id","city.last_update":"last_update"},"COLUMNS_UPPERCASE":{"CITY_ID":"city.city_id","CITY":"city.city","COUNTRY_ID":"city.country_id","LAST_UPDATE":"city.last_update"},"TYPE_VALIDATION":{"city.city_id":{"COLUMN_NAME":"city_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"city.city":{"COLUMN_NAME":"city","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"50","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"city.country_id":{"COLUMN_NAME":"country_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"city.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{"country_id":[{"TABLE":"country","COLUMN":"country_id","CONSTRAINT":"fk_city_country"}]},"TABLE_REFERENCED_BY":{"city_id":[{"TABLE":"address","COLUMN":"city_id","CONSTRAINT":"fk_address_city"}]},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"country","TABLE_DEFINITION":"CREATE TABLE `country` (\n `country_id` smallint unsigned NOT NULL AUTO_INCREMENT,\n `country` varchar(50) NOT NULL,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`country_id`)\n) ENGINE=InnoDB AUTO_INCREMENT=110 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"country","TABLE_NAME_LOWER":"country","TABLE_NAME_UPPER":"COUNTRY","TABLE_NAME_PASCAL_CASE":"Country","TABLE_NAME_SHORT_PASCAL_CASE":"Country","PRIMARY":["country.country_id"],"PRIMARY_SHORT":["country_id"],"PRIMARY_KEYS_TYPE":"'country_id'","COLUMNS":{"country.country_id":"country_id","country.country":"country","country.last_update":"last_update"},"COLUMNS_UPPERCASE":{"COUNTRY_ID":"country.country_id","COUNTRY":"country.country","LAST_UPDATE":"country.last_update"},"TYPE_VALIDATION":{"country.country_id":{"COLUMN_NAME":"country_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"country.country":{"COLUMN_NAME":"country","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"50","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"country.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{},"TABLE_REFERENCED_BY":{"country_id":[{"TABLE":"city","COLUMN":"country_id","CONSTRAINT":"fk_city_country"}]},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"customer","TABLE_DEFINITION":"CREATE TABLE `customer` (\n `customer_id` smallint unsigned NOT NULL AUTO_INCREMENT,\n `store_id` tinyint unsigned NOT NULL,\n `first_name` varchar(45) NOT NULL,\n `last_name` varchar(45) NOT NULL,\n `email` varchar(50) DEFAULT NULL,\n `address_id` smallint unsigned NOT NULL,\n `active` tinyint(1) NOT NULL DEFAULT '1',\n `create_date` datetime NOT NULL,\n `last_update` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`customer_id`),\n KEY `idx_fk_store_id` (`store_id`),\n KEY `idx_fk_address_id` (`address_id`),\n KEY `idx_last_name` (`last_name`),\n CONSTRAINT `fk_customer_address` FOREIGN KEY (`address_id`) REFERENCES `address` (`address_id`) ON DELETE RESTRICT ON UPDATE CASCADE,\n CONSTRAINT `fk_customer_store` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE RESTRICT ON UPDATE CASCADE\n) ENGINE=InnoDB AUTO_INCREMENT=600 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"customer","TABLE_NAME_LOWER":"customer","TABLE_NAME_UPPER":"CUSTOMER","TABLE_NAME_PASCAL_CASE":"Customer","TABLE_NAME_SHORT_PASCAL_CASE":"Customer","PRIMARY":["customer.customer_id"],"PRIMARY_SHORT":["customer_id"],"PRIMARY_KEYS_TYPE":"'customer_id'","COLUMNS":{"customer.customer_id":"customer_id","customer.store_id":"store_id","customer.first_name":"first_name","customer.last_name":"last_name","customer.email":"email","customer.address_id":"address_id","customer.active":"active","customer.create_date":"create_date","customer.last_update":"last_update"},"COLUMNS_UPPERCASE":{"CUSTOMER_ID":"customer.customer_id","STORE_ID":"customer.store_id","FIRST_NAME":"customer.first_name","LAST_NAME":"customer.last_name","EMAIL":"customer.email","ADDRESS_ID":"customer.address_id","ACTIVE":"customer.active","CREATE_DATE":"customer.create_date","LAST_UPDATE":"customer.last_update"},"TYPE_VALIDATION":{"customer.customer_id":{"COLUMN_NAME":"customer_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"customer.store_id":{"COLUMN_NAME":"store_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"customer.first_name":{"COLUMN_NAME":"first_name","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"45","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"customer.last_name":{"COLUMN_NAME":"last_name","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"45","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"customer.email":{"COLUMN_NAME":"email","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"50","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false},"customer.address_id":{"COLUMN_NAME":"address_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"customer.active":{"COLUMN_NAME":"active","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"1","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"customer.create_date":{"COLUMN_NAME":"create_date","MYSQL_TYPE":"datetime","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"customer.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{"address_id":[{"TABLE":"address","COLUMN":"address_id","CONSTRAINT":"fk_customer_address"}],"store_id":[{"TABLE":"store","COLUMN":"store_id","CONSTRAINT":"fk_customer_store"}]},"TABLE_REFERENCED_BY":{"customer_id":[{"TABLE":"payment","COLUMN":"customer_id","CONSTRAINT":"fk_payment_customer"},{"TABLE":"rental","COLUMN":"customer_id","CONSTRAINT":"fk_rental_customer"}]},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"film","TABLE_DEFINITION":"CREATE TABLE `film` (\n `film_id` smallint unsigned NOT NULL AUTO_INCREMENT,\n `title` varchar(128) NOT NULL,\n `description` text,\n `release_year` year DEFAULT NULL,\n `language_id` tinyint unsigned NOT NULL,\n `original_language_id` tinyint unsigned DEFAULT NULL,\n `rental_duration` tinyint unsigned NOT NULL DEFAULT '3',\n `rental_rate` decimal(4,2) NOT NULL DEFAULT '4.99',\n `length` smallint unsigned DEFAULT NULL,\n `replacement_cost` decimal(5,2) NOT NULL DEFAULT '19.99',\n `rating` enum('G','PG','PG-13','R','NC-17') DEFAULT 'G',\n `special_features` set('Trailers','Commentaries','Deleted Scenes','Behind the Scenes') DEFAULT NULL,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`film_id`),\n KEY `idx_title` (`title`),\n KEY `idx_fk_language_id` (`language_id`),\n KEY `idx_fk_original_language_id` (`original_language_id`),\n CONSTRAINT `fk_film_language` FOREIGN KEY (`language_id`) REFERENCES `language` (`language_id`) ON DELETE RESTRICT ON UPDATE CASCADE,\n CONSTRAINT `fk_film_language_original` FOREIGN KEY (`original_language_id`) REFERENCES `language` (`language_id`) ON DELETE RESTRICT ON UPDATE CASCADE\n) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"film","TABLE_NAME_LOWER":"film","TABLE_NAME_UPPER":"FILM","TABLE_NAME_PASCAL_CASE":"Film","TABLE_NAME_SHORT_PASCAL_CASE":"Film","PRIMARY":["film.film_id"],"PRIMARY_SHORT":["film_id"],"PRIMARY_KEYS_TYPE":"'film_id'","COLUMNS":{"film.film_id":"film_id","film.title":"title","film.description":"description","film.release_year":"release_year","film.language_id":"language_id","film.original_language_id":"original_language_id","film.rental_duration":"rental_duration","film.rental_rate":"rental_rate","film.length":"length","film.replacement_cost":"replacement_cost","film.rating":"rating","film.special_features":"special_features","film.last_update":"last_update"},"COLUMNS_UPPERCASE":{"FILM_ID":"film.film_id","TITLE":"film.title","DESCRIPTION":"film.description","RELEASE_YEAR":"film.release_year","LANGUAGE_ID":"film.language_id","ORIGINAL_LANGUAGE_ID":"film.original_language_id","RENTAL_DURATION":"film.rental_duration","RENTAL_RATE":"film.rental_rate","LENGTH":"film.length","REPLACEMENT_COST":"film.replacement_cost","RATING":"film.rating","SPECIAL_FEATURES":"film.special_features","LAST_UPDATE":"film.last_update"},"TYPE_VALIDATION":{"film.film_id":{"COLUMN_NAME":"film_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"film.title":{"COLUMN_NAME":"title","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"128","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"film.description":{"COLUMN_NAME":"description","MYSQL_TYPE":"text","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":true},"film.release_year":{"COLUMN_NAME":"release_year","MYSQL_TYPE":"year","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false},"film.language_id":{"COLUMN_NAME":"language_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"film.original_language_id":{"COLUMN_NAME":"original_language_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false},"film.rental_duration":{"COLUMN_NAME":"rental_duration","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"film.rental_rate":{"COLUMN_NAME":"rental_rate","MYSQL_TYPE":"decimal","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"4,2","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"film.length":{"COLUMN_NAME":"length","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false},"film.replacement_cost":{"COLUMN_NAME":"replacement_cost","MYSQL_TYPE":"decimal","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"5,2","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"film.rating":{"COLUMN_NAME":"rating","MYSQL_TYPE":"enum","TYPESCRIPT_TYPE":"'G' | 'PG' | 'PG-13' | 'R' | 'NC-17'","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"'G','PG','PG-13','R','NC-17'","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false},"film.special_features":{"COLUMN_NAME":"special_features","MYSQL_TYPE":"set","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"'Trailers','Commentaries','Deleted Scenes','Behind the Scenes'","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false},"film.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{"language_id":[{"TABLE":"language","COLUMN":"language_id","CONSTRAINT":"fk_film_language"}],"original_language_id":[{"TABLE":"language","COLUMN":"language_id","CONSTRAINT":"fk_film_language_original"}]},"TABLE_REFERENCED_BY":{"film_id":[{"TABLE":"film_actor","COLUMN":"film_id","CONSTRAINT":"fk_film_actor_film"},{"TABLE":"film_category","COLUMN":"film_id","CONSTRAINT":"fk_film_category_film"},{"TABLE":"inventory","COLUMN":"film_id","CONSTRAINT":"fk_inventory_film"}]},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"film_actor","TABLE_DEFINITION":"CREATE TABLE `film_actor` (\n `actor_id` smallint unsigned NOT NULL,\n `film_id` smallint unsigned NOT NULL,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`actor_id`,`film_id`),\n KEY `idx_fk_film_id` (`film_id`),\n CONSTRAINT `fk_film_actor_actor` FOREIGN KEY (`actor_id`) REFERENCES `actor` (`actor_id`) ON DELETE RESTRICT ON UPDATE CASCADE,\n CONSTRAINT `fk_film_actor_film` FOREIGN KEY (`film_id`) REFERENCES `film` (`film_id`) ON DELETE RESTRICT ON UPDATE CASCADE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"film_actor","TABLE_NAME_LOWER":"film_actor","TABLE_NAME_UPPER":"FILM_ACTOR","TABLE_NAME_PASCAL_CASE":"Film_Actor","TABLE_NAME_SHORT_PASCAL_CASE":"Film_Actor","PRIMARY":["film_actor.actor_id","film_actor.film_id"],"PRIMARY_SHORT":["actor_id","film_id"],"PRIMARY_KEYS_TYPE":"'actor_id' | 'film_id'","COLUMNS":{"film_actor.actor_id":"actor_id","film_actor.film_id":"film_id","film_actor.last_update":"last_update"},"COLUMNS_UPPERCASE":{"ACTOR_ID":"film_actor.actor_id","FILM_ID":"film_actor.film_id","LAST_UPDATE":"film_actor.last_update"},"TYPE_VALIDATION":{"film_actor.actor_id":{"COLUMN_NAME":"actor_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"film_actor.film_id":{"COLUMN_NAME":"film_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"film_actor.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{"actor_id":[{"TABLE":"actor","COLUMN":"actor_id","CONSTRAINT":"fk_film_actor_actor"}],"film_id":[{"TABLE":"film","COLUMN":"film_id","CONSTRAINT":"fk_film_actor_film"}]},"TABLE_REFERENCED_BY":{},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"film_category","TABLE_DEFINITION":"CREATE TABLE `film_category` (\n `film_id` smallint unsigned NOT NULL,\n `category_id` tinyint unsigned NOT NULL,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`film_id`,`category_id`),\n KEY `fk_film_category_category` (`category_id`),\n CONSTRAINT `fk_film_category_category` FOREIGN KEY (`category_id`) REFERENCES `category` (`category_id`) ON DELETE RESTRICT ON UPDATE CASCADE,\n CONSTRAINT `fk_film_category_film` FOREIGN KEY (`film_id`) REFERENCES `film` (`film_id`) ON DELETE RESTRICT ON UPDATE CASCADE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"film_category","TABLE_NAME_LOWER":"film_category","TABLE_NAME_UPPER":"FILM_CATEGORY","TABLE_NAME_PASCAL_CASE":"Film_Category","TABLE_NAME_SHORT_PASCAL_CASE":"Film_Category","PRIMARY":["film_category.film_id","film_category.category_id"],"PRIMARY_SHORT":["film_id","category_id"],"PRIMARY_KEYS_TYPE":"'film_id' | 'category_id'","COLUMNS":{"film_category.film_id":"film_id","film_category.category_id":"category_id","film_category.last_update":"last_update"},"COLUMNS_UPPERCASE":{"FILM_ID":"film_category.film_id","CATEGORY_ID":"film_category.category_id","LAST_UPDATE":"film_category.last_update"},"TYPE_VALIDATION":{"film_category.film_id":{"COLUMN_NAME":"film_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"film_category.category_id":{"COLUMN_NAME":"category_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"film_category.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{"category_id":[{"TABLE":"category","COLUMN":"category_id","CONSTRAINT":"fk_film_category_category"}],"film_id":[{"TABLE":"film","COLUMN":"film_id","CONSTRAINT":"fk_film_category_film"}]},"TABLE_REFERENCED_BY":{},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"film_text","TABLE_DEFINITION":"CREATE TABLE `film_text` (\n `film_id` smallint unsigned NOT NULL,\n `title` varchar(255) NOT NULL,\n `description` text,\n PRIMARY KEY (`film_id`),\n FULLTEXT KEY `idx_title_description` (`title`,`description`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"film_text","TABLE_NAME_LOWER":"film_text","TABLE_NAME_UPPER":"FILM_TEXT","TABLE_NAME_PASCAL_CASE":"Film_Text","TABLE_NAME_SHORT_PASCAL_CASE":"Film_Text","PRIMARY":["film_text.film_id"],"PRIMARY_SHORT":["film_id"],"PRIMARY_KEYS_TYPE":"'film_id'","COLUMNS":{"film_text.film_id":"film_id","film_text.title":"title","film_text.description":"description"},"COLUMNS_UPPERCASE":{"FILM_ID":"film_text.film_id","TITLE":"film_text.title","DESCRIPTION":"film_text.description"},"TYPE_VALIDATION":{"film_text.film_id":{"COLUMN_NAME":"film_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"film_text.title":{"COLUMN_NAME":"title","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"255","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"film_text.description":{"COLUMN_NAME":"description","MYSQL_TYPE":"text","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":true}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{},"TABLE_REFERENCED_BY":{},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"inventory","TABLE_DEFINITION":"CREATE TABLE `inventory` (\n `inventory_id` mediumint unsigned NOT NULL AUTO_INCREMENT,\n `film_id` smallint unsigned NOT NULL,\n `store_id` tinyint unsigned NOT NULL,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`inventory_id`),\n KEY `idx_fk_film_id` (`film_id`),\n KEY `idx_store_id_film_id` (`store_id`,`film_id`),\n CONSTRAINT `fk_inventory_film` FOREIGN KEY (`film_id`) REFERENCES `film` (`film_id`) ON DELETE RESTRICT ON UPDATE CASCADE,\n CONSTRAINT `fk_inventory_store` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE RESTRICT ON UPDATE CASCADE\n) ENGINE=InnoDB AUTO_INCREMENT=4582 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"inventory","TABLE_NAME_LOWER":"inventory","TABLE_NAME_UPPER":"INVENTORY","TABLE_NAME_PASCAL_CASE":"Inventory","TABLE_NAME_SHORT_PASCAL_CASE":"Inventory","PRIMARY":["inventory.inventory_id"],"PRIMARY_SHORT":["inventory_id"],"PRIMARY_KEYS_TYPE":"'inventory_id'","COLUMNS":{"inventory.inventory_id":"inventory_id","inventory.film_id":"film_id","inventory.store_id":"store_id","inventory.last_update":"last_update"},"COLUMNS_UPPERCASE":{"INVENTORY_ID":"inventory.inventory_id","FILM_ID":"inventory.film_id","STORE_ID":"inventory.store_id","LAST_UPDATE":"inventory.last_update"},"TYPE_VALIDATION":{"inventory.inventory_id":{"COLUMN_NAME":"inventory_id","MYSQL_TYPE":"mediumint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"inventory.film_id":{"COLUMN_NAME":"film_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"inventory.store_id":{"COLUMN_NAME":"store_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"inventory.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{"film_id":[{"TABLE":"film","COLUMN":"film_id","CONSTRAINT":"fk_inventory_film"}],"store_id":[{"TABLE":"store","COLUMN":"store_id","CONSTRAINT":"fk_inventory_store"}]},"TABLE_REFERENCED_BY":{"inventory_id":[{"TABLE":"rental","COLUMN":"inventory_id","CONSTRAINT":"fk_rental_inventory"}]},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"language","TABLE_DEFINITION":"CREATE TABLE `language` (\n `language_id` tinyint unsigned NOT NULL AUTO_INCREMENT,\n `name` char(20) NOT NULL,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`language_id`)\n) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"language","TABLE_NAME_LOWER":"language","TABLE_NAME_UPPER":"LANGUAGE","TABLE_NAME_PASCAL_CASE":"Language","TABLE_NAME_SHORT_PASCAL_CASE":"Language","PRIMARY":["language.language_id"],"PRIMARY_SHORT":["language_id"],"PRIMARY_KEYS_TYPE":"'language_id'","COLUMNS":{"language.language_id":"language_id","language.name":"name","language.last_update":"last_update"},"COLUMNS_UPPERCASE":{"LANGUAGE_ID":"language.language_id","NAME":"language.name","LAST_UPDATE":"language.last_update"},"TYPE_VALIDATION":{"language.language_id":{"COLUMN_NAME":"language_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"language.name":{"COLUMN_NAME":"name","MYSQL_TYPE":"char","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"20","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"language.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{},"TABLE_REFERENCED_BY":{"language_id":[{"TABLE":"film","COLUMN":"language_id","CONSTRAINT":"fk_film_language"},{"TABLE":"film","COLUMN":"original_language_id","CONSTRAINT":"fk_film_language_original"}]},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"payment","TABLE_DEFINITION":"CREATE TABLE `payment` (\n `payment_id` smallint unsigned NOT NULL AUTO_INCREMENT,\n `customer_id` smallint unsigned NOT NULL,\n `staff_id` tinyint unsigned NOT NULL,\n `rental_id` int DEFAULT NULL,\n `amount` decimal(5,2) NOT NULL,\n `payment_date` datetime NOT NULL,\n `last_update` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`payment_id`),\n KEY `idx_fk_staff_id` (`staff_id`),\n KEY `idx_fk_customer_id` (`customer_id`),\n KEY `fk_payment_rental` (`rental_id`),\n CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON DELETE RESTRICT ON UPDATE CASCADE,\n CONSTRAINT `fk_payment_rental` FOREIGN KEY (`rental_id`) REFERENCES `rental` (`rental_id`) ON DELETE SET NULL ON UPDATE CASCADE,\n CONSTRAINT `fk_payment_staff` FOREIGN KEY (`staff_id`) REFERENCES `staff` (`staff_id`) ON DELETE RESTRICT ON UPDATE CASCADE\n) ENGINE=InnoDB AUTO_INCREMENT=16050 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"payment","TABLE_NAME_LOWER":"payment","TABLE_NAME_UPPER":"PAYMENT","TABLE_NAME_PASCAL_CASE":"Payment","TABLE_NAME_SHORT_PASCAL_CASE":"Payment","PRIMARY":["payment.payment_id"],"PRIMARY_SHORT":["payment_id"],"PRIMARY_KEYS_TYPE":"'payment_id'","COLUMNS":{"payment.payment_id":"payment_id","payment.customer_id":"customer_id","payment.staff_id":"staff_id","payment.rental_id":"rental_id","payment.amount":"amount","payment.payment_date":"payment_date","payment.last_update":"last_update"},"COLUMNS_UPPERCASE":{"PAYMENT_ID":"payment.payment_id","CUSTOMER_ID":"payment.customer_id","STAFF_ID":"payment.staff_id","RENTAL_ID":"payment.rental_id","AMOUNT":"payment.amount","PAYMENT_DATE":"payment.payment_date","LAST_UPDATE":"payment.last_update"},"TYPE_VALIDATION":{"payment.payment_id":{"COLUMN_NAME":"payment_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"payment.customer_id":{"COLUMN_NAME":"customer_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"payment.staff_id":{"COLUMN_NAME":"staff_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"payment.rental_id":{"COLUMN_NAME":"rental_id","MYSQL_TYPE":"int","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false},"payment.amount":{"COLUMN_NAME":"amount","MYSQL_TYPE":"decimal","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"5,2","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"payment.payment_date":{"COLUMN_NAME":"payment_date","MYSQL_TYPE":"datetime","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"payment.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{"customer_id":[{"TABLE":"customer","COLUMN":"customer_id","CONSTRAINT":"fk_payment_customer"}],"rental_id":[{"TABLE":"rental","COLUMN":"rental_id","CONSTRAINT":"fk_payment_rental"}],"staff_id":[{"TABLE":"staff","COLUMN":"staff_id","CONSTRAINT":"fk_payment_staff"}]},"TABLE_REFERENCED_BY":{},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"rental","TABLE_DEFINITION":"CREATE TABLE `rental` (\n `rental_id` int NOT NULL AUTO_INCREMENT,\n `rental_date` datetime NOT NULL,\n `inventory_id` mediumint unsigned NOT NULL,\n `customer_id` smallint unsigned NOT NULL,\n `return_date` datetime DEFAULT NULL,\n `staff_id` tinyint unsigned NOT NULL,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`rental_id`),\n UNIQUE KEY `rental_date` (`rental_date`,`inventory_id`,`customer_id`),\n KEY `idx_fk_inventory_id` (`inventory_id`),\n KEY `idx_fk_customer_id` (`customer_id`),\n KEY `idx_fk_staff_id` (`staff_id`),\n CONSTRAINT `fk_rental_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON DELETE RESTRICT ON UPDATE CASCADE,\n CONSTRAINT `fk_rental_inventory` FOREIGN KEY (`inventory_id`) REFERENCES `inventory` (`inventory_id`) ON DELETE RESTRICT ON UPDATE CASCADE,\n CONSTRAINT `fk_rental_staff` FOREIGN KEY (`staff_id`) REFERENCES `staff` (`staff_id`) ON DELETE RESTRICT ON UPDATE CASCADE\n) ENGINE=InnoDB AUTO_INCREMENT=16050 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"rental","TABLE_NAME_LOWER":"rental","TABLE_NAME_UPPER":"RENTAL","TABLE_NAME_PASCAL_CASE":"Rental","TABLE_NAME_SHORT_PASCAL_CASE":"Rental","PRIMARY":["rental.rental_id"],"PRIMARY_SHORT":["rental_id"],"PRIMARY_KEYS_TYPE":"'rental_id'","COLUMNS":{"rental.rental_id":"rental_id","rental.rental_date":"rental_date","rental.inventory_id":"inventory_id","rental.customer_id":"customer_id","rental.return_date":"return_date","rental.staff_id":"staff_id","rental.last_update":"last_update"},"COLUMNS_UPPERCASE":{"RENTAL_ID":"rental.rental_id","RENTAL_DATE":"rental.rental_date","INVENTORY_ID":"rental.inventory_id","CUSTOMER_ID":"rental.customer_id","RETURN_DATE":"rental.return_date","STAFF_ID":"rental.staff_id","LAST_UPDATE":"rental.last_update"},"TYPE_VALIDATION":{"rental.rental_id":{"COLUMN_NAME":"rental_id","MYSQL_TYPE":"int","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"rental.rental_date":{"COLUMN_NAME":"rental_date","MYSQL_TYPE":"datetime","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"rental.inventory_id":{"COLUMN_NAME":"inventory_id","MYSQL_TYPE":"mediumint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"rental.customer_id":{"COLUMN_NAME":"customer_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"rental.return_date":{"COLUMN_NAME":"return_date","MYSQL_TYPE":"datetime","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false},"rental.staff_id":{"COLUMN_NAME":"staff_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"rental.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{"customer_id":[{"TABLE":"customer","COLUMN":"customer_id","CONSTRAINT":"fk_rental_customer"}],"inventory_id":[{"TABLE":"inventory","COLUMN":"inventory_id","CONSTRAINT":"fk_rental_inventory"}],"staff_id":[{"TABLE":"staff","COLUMN":"staff_id","CONSTRAINT":"fk_rental_staff"}]},"TABLE_REFERENCED_BY":{"rental_id":[{"TABLE":"payment","COLUMN":"rental_id","CONSTRAINT":"fk_payment_rental"}]},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"staff","TABLE_DEFINITION":"CREATE TABLE `staff` (\n `staff_id` tinyint unsigned NOT NULL AUTO_INCREMENT,\n `first_name` varchar(45) NOT NULL,\n `last_name` varchar(45) NOT NULL,\n `address_id` smallint unsigned NOT NULL,\n `picture` blob,\n `email` varchar(50) DEFAULT NULL,\n `store_id` tinyint unsigned NOT NULL,\n `active` tinyint(1) NOT NULL DEFAULT '1',\n `username` varchar(16) NOT NULL,\n `password` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`staff_id`),\n KEY `idx_fk_store_id` (`store_id`),\n KEY `idx_fk_address_id` (`address_id`),\n CONSTRAINT `fk_staff_address` FOREIGN KEY (`address_id`) REFERENCES `address` (`address_id`) ON DELETE RESTRICT ON UPDATE CASCADE,\n CONSTRAINT `fk_staff_store` FOREIGN KEY (`store_id`) REFERENCES `store` (`store_id`) ON DELETE RESTRICT ON UPDATE CASCADE\n) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"staff","TABLE_NAME_LOWER":"staff","TABLE_NAME_UPPER":"STAFF","TABLE_NAME_PASCAL_CASE":"Staff","TABLE_NAME_SHORT_PASCAL_CASE":"Staff","PRIMARY":["staff.staff_id"],"PRIMARY_SHORT":["staff_id"],"PRIMARY_KEYS_TYPE":"'staff_id'","COLUMNS":{"staff.staff_id":"staff_id","staff.first_name":"first_name","staff.last_name":"last_name","staff.address_id":"address_id","staff.picture":"picture","staff.email":"email","staff.store_id":"store_id","staff.active":"active","staff.username":"username","staff.password":"password","staff.last_update":"last_update"},"COLUMNS_UPPERCASE":{"STAFF_ID":"staff.staff_id","FIRST_NAME":"staff.first_name","LAST_NAME":"staff.last_name","ADDRESS_ID":"staff.address_id","PICTURE":"staff.picture","EMAIL":"staff.email","STORE_ID":"staff.store_id","ACTIVE":"staff.active","USERNAME":"staff.username","PASSWORD":"staff.password","LAST_UPDATE":"staff.last_update"},"TYPE_VALIDATION":{"staff.staff_id":{"COLUMN_NAME":"staff_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"staff.first_name":{"COLUMN_NAME":"first_name","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"45","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"staff.last_name":{"COLUMN_NAME":"last_name","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"45","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"staff.address_id":{"COLUMN_NAME":"address_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"staff.picture":{"COLUMN_NAME":"picture","MYSQL_TYPE":"blob","TYPESCRIPT_TYPE":"Buffer | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":true},"staff.email":{"COLUMN_NAME":"email","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"50","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":false},"staff.store_id":{"COLUMN_NAME":"store_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"staff.active":{"COLUMN_NAME":"active","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"1","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"staff.username":{"COLUMN_NAME":"username","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"16","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"staff.password":{"COLUMN_NAME":"password","MYSQL_TYPE":"varchar","TYPESCRIPT_TYPE":"string","TYPESCRIPT_TYPE_IS_STRING":true,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"40","AUTO_INCREMENT":false,"NOT_NULL":false,"SKIP_COLUMN_IN_POST":true},"staff.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{"address_id":[{"TABLE":"address","COLUMN":"address_id","CONSTRAINT":"fk_staff_address"}],"store_id":[{"TABLE":"store","COLUMN":"store_id","CONSTRAINT":"fk_staff_store"}]},"TABLE_REFERENCED_BY":{"staff_id":[{"TABLE":"payment","COLUMN":"staff_id","CONSTRAINT":"fk_payment_staff"},{"TABLE":"rental","COLUMN":"staff_id","CONSTRAINT":"fk_rental_staff"},{"TABLE":"store","COLUMN":"manager_staff_id","CONSTRAINT":"fk_store_staff"}]},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false},{"RELATIVE_OUTPUT_DIR":"src/__tests__/sakila-db","TABLE_NAME":"store","TABLE_DEFINITION":"CREATE TABLE `store` (\n `store_id` tinyint unsigned NOT NULL AUTO_INCREMENT,\n `manager_staff_id` tinyint unsigned NOT NULL,\n `address_id` smallint unsigned NOT NULL,\n `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n PRIMARY KEY (`store_id`),\n UNIQUE KEY `idx_unique_manager` (`manager_staff_id`),\n KEY `idx_fk_address_id` (`address_id`),\n CONSTRAINT `fk_store_address` FOREIGN KEY (`address_id`) REFERENCES `address` (`address_id`) ON DELETE RESTRICT ON UPDATE CASCADE,\n CONSTRAINT `fk_store_staff` FOREIGN KEY (`manager_staff_id`) REFERENCES `staff` (`staff_id`) ON DELETE RESTRICT ON UPDATE CASCADE\n) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;","TABLE_CONSTRAINT":[{"TABLE":"address","CONSTRAINT":"fk_address_city","FOREIGN_KEY":"city_id","REFERENCES":"city.city_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"city","CONSTRAINT":"fk_city_country","FOREIGN_KEY":"country_id","REFERENCES":"country.country_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"customer","CONSTRAINT":"fk_customer_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language","FOREIGN_KEY":"language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film","CONSTRAINT":"fk_film_language_original","FOREIGN_KEY":"original_language_id","REFERENCES":"language.language_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_actor","FOREIGN_KEY":"actor_id","REFERENCES":"actor.actor_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_actor","CONSTRAINT":"fk_film_actor_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_category","FOREIGN_KEY":"category_id","REFERENCES":"category.category_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"film_category","CONSTRAINT":"fk_film_category_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_film","FOREIGN_KEY":"film_id","REFERENCES":"film.film_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"inventory","CONSTRAINT":"fk_inventory_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"payment","CONSTRAINT":"fk_payment_rental","FOREIGN_KEY":"rental_id","REFERENCES":"rental.rental_id","ON_DELETE":"SET","ON_UPDATE":""},{"TABLE":"payment","CONSTRAINT":"fk_payment_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_customer","FOREIGN_KEY":"customer_id","REFERENCES":"customer.customer_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_inventory","FOREIGN_KEY":"inventory_id","REFERENCES":"inventory.inventory_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"rental","CONSTRAINT":"fk_rental_staff","FOREIGN_KEY":"staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"staff","CONSTRAINT":"fk_staff_store","FOREIGN_KEY":"store_id","REFERENCES":"store.store_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_address","FOREIGN_KEY":"address_id","REFERENCES":"address.address_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"},{"TABLE":"store","CONSTRAINT":"fk_store_staff","FOREIGN_KEY":"manager_staff_id","REFERENCES":"staff.staff_id","ON_DELETE":"RESTRICT","ON_UPDATE":"CASCADE"}],"REST_URL_EXPRESSION":"\"/rest/\"","TABLE_NAME_SHORT":"store","TABLE_NAME_LOWER":"store","TABLE_NAME_UPPER":"STORE","TABLE_NAME_PASCAL_CASE":"Store","TABLE_NAME_SHORT_PASCAL_CASE":"Store","PRIMARY":["store.store_id"],"PRIMARY_SHORT":["store_id"],"PRIMARY_KEYS_TYPE":"'store_id'","COLUMNS":{"store.store_id":"store_id","store.manager_staff_id":"manager_staff_id","store.address_id":"address_id","store.last_update":"last_update"},"COLUMNS_UPPERCASE":{"STORE_ID":"store.store_id","MANAGER_STAFF_ID":"store.manager_staff_id","ADDRESS_ID":"store.address_id","LAST_UPDATE":"store.last_update"},"TYPE_VALIDATION":{"store.store_id":{"COLUMN_NAME":"store_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":true,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"store.manager_staff_id":{"COLUMN_NAME":"manager_staff_id","MYSQL_TYPE":"tinyint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"store.address_id":{"COLUMN_NAME":"address_id","MYSQL_TYPE":"smallint","TYPESCRIPT_TYPE":"number","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":true,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false},"store.last_update":{"COLUMN_NAME":"last_update","MYSQL_TYPE":"timestamp","TYPESCRIPT_TYPE":"Date | number | string","TYPESCRIPT_TYPE_IS_STRING":false,"TYPESCRIPT_TYPE_IS_NUMBER":false,"MAX_LENGTH":"","AUTO_INCREMENT":false,"NOT_NULL":true,"SKIP_COLUMN_IN_POST":false}},"REGEX_VALIDATION":{},"TABLE_REFERENCES":{"address_id":[{"TABLE":"address","COLUMN":"address_id","CONSTRAINT":"fk_store_address"}],"manager_staff_id":[{"TABLE":"staff","COLUMN":"staff_id","CONSTRAINT":"fk_store_staff"}]},"TABLE_REFERENCED_BY":{"store_id":[{"TABLE":"customer","COLUMN":"store_id","CONSTRAINT":"fk_customer_store"},{"TABLE":"inventory","COLUMN":"store_id","CONSTRAINT":"fk_inventory_store"},{"TABLE":"staff","COLUMN":"store_id","CONSTRAINT":"fk_staff_store"}]},"REACT_IMPORT":false,"CARBON_REACT_INSTANCE":false}],"RestTableNames":"'actor'\n | 'address'\n | 'binary_test'\n | 'category'\n | 'city'\n | 'country'\n | 'customer'\n | 'film'\n | 'film_actor'\n | 'film_category'\n | 'film_text'\n | 'inventory'\n | 'language'\n | 'payment'\n | 'rental'\n | 'staff'\n | 'store'","RestShortTableNames":"'actor'\n | 'address'\n | 'binary_test'\n | 'category'\n | 'city'\n | 'country'\n | 'customer'\n | 'film'\n | 'film_actor'\n | 'film_category'\n | 'film_text'\n | 'inventory'\n | 'language'\n | 'payment'\n | 'rental'\n | 'staff'\n | 'store'","RestTableInterfaces":"iActor\n | iAddress\n | iBinary_Test\n | iCategory\n | iCity\n | iCountry\n | iCustomer\n | iFilm\n | iFilm_Actor\n | iFilm_Category\n | iFilm_Text\n | iInventory\n | iLanguage\n | iPayment\n | iRental\n | iStaff\n | iStore"}