freeschema 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/freeschema.js CHANGED
@@ -11,6 +11,7 @@ const readline = require('readline');
11
11
 
12
12
  const VERSION = require('../package.json').version;
13
13
  const TEMPLATES_DIR = path.join(__dirname, '..', 'templates');
14
+ const DEFAULT_SEED_URL = 'https://apifreeschema%2540boomconcole.com@boomconcole.com/sql/coredb.sql';
14
15
 
15
16
  const args = process.argv.slice(2);
16
17
  const command = args[0];
@@ -113,6 +114,24 @@ function generateJwt() {
113
114
  return crypto.randomBytes(32).toString('hex');
114
115
  }
115
116
 
117
+ function httpsDownload(url, destStream) {
118
+ return new Promise((resolve, reject) => {
119
+ const follow = (u, redirects) => {
120
+ if (redirects > 10) return reject(new Error('Too many redirects'));
121
+ https.get(u, res => {
122
+ if (res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
123
+ return follow(res.headers.location, redirects + 1);
124
+ }
125
+ if (res.statusCode !== 200) return reject(new Error(`HTTP ${res.statusCode}`));
126
+ res.pipe(destStream);
127
+ destStream.on('finish', resolve);
128
+ destStream.on('error', reject);
129
+ }).on('error', reject);
130
+ };
131
+ follow(url, 0);
132
+ });
133
+ }
134
+
116
135
  function runCompose(composeArgs, opts = {}) {
117
136
  const cwd = process.cwd();
118
137
  if (!fs.existsSync(path.join(cwd, 'docker-compose.yml'))) {
@@ -300,7 +319,47 @@ async function cmdInit() {
300
319
  console.log(' SMTP configured ✓');
301
320
  }
302
321
 
303
- // 7. Summary
322
+ // 7. Seed data
323
+ let seedFileName = null;
324
+ const seedChoice = await choose(
325
+ 'Initial seed data (loaded into the database on first start):',
326
+ ['Download default FreeSchema dataset (recommended)',
327
+ 'Load from a local SQL file',
328
+ 'Skip — start with empty tables'],
329
+ 0
330
+ );
331
+
332
+ if (seedChoice === 0) {
333
+ const seedUrl = await prompt(' Download URL', DEFAULT_SEED_URL);
334
+ if (seedUrl) {
335
+ const seedDir = path.join(target, 'seed-db');
336
+ if (!fs.existsSync(seedDir)) fs.mkdirSync(seedDir, { recursive: true });
337
+ seedFileName = path.basename(new URL(seedUrl.replace('%2540', '%40')).pathname) || 'coredb.sql';
338
+ const dest = path.join(seedDir, seedFileName);
339
+ console.log(` Downloading → seed-db/${seedFileName}…`);
340
+ try {
341
+ await httpsDownload(seedUrl, fs.createWriteStream(dest));
342
+ console.log(` Seed data seed-db/${seedFileName} ✓`);
343
+ } catch (e) {
344
+ try { fs.unlinkSync(dest); } catch {}
345
+ console.log(` Seed data download failed (${e.message}) — skipped`);
346
+ seedFileName = null;
347
+ }
348
+ }
349
+ } else if (seedChoice === 1) {
350
+ const seedPath = await prompt(' Path to SQL file', '');
351
+ if (seedPath && fs.existsSync(seedPath)) {
352
+ const seedDir = path.join(target, 'seed-db');
353
+ if (!fs.existsSync(seedDir)) fs.mkdirSync(seedDir, { recursive: true });
354
+ seedFileName = path.basename(seedPath);
355
+ fs.copyFileSync(seedPath, path.join(seedDir, seedFileName));
356
+ console.log(` Seed data seed-db/${seedFileName} ✓`);
357
+ } else {
358
+ console.log(' Seed data file not found — skipped');
359
+ }
360
+ }
361
+
362
+ // 8. Summary
304
363
  const localDb = readEnvVar(envPath, 'DB_MODE') === 'local';
305
364
  const localMqtt = readEnvVar(envPath, 'MQTT_HOST') === 'mqtt-broker';
306
365
 
@@ -311,20 +370,37 @@ async function cmdInit() {
311
370
 
312
371
  .env → configured
313
372
  .env.frontend → ready (edit if needed)
314
- JWT_SECRET → generated
373
+ JWT_SECRET → generated${seedFileName ? `\n Seed data → seed-db/${seedFileName}` : ''}
315
374
 
316
- Next — seed the database then start:
317
-
318
- freeschema db seed --file /path/to/schema.sql
375
+ Next — start FreeSchema:
319
376
 
320
377
  freeschema start${localDb ? ' --local-db' : ''}${localMqtt ? ' --local-mqtt' : ''}
321
-
378
+ ${seedFileName ? '\n Your seed data will be applied automatically on first start.\n To re-seed on any future start:\n freeschema start' + (localDb ? ' --local-db' : '') + ` --seed ./seed-db/${seedFileName}` : ''}
322
379
  Open your browser at: http://localhost:${nginxPort}
323
380
  `);
324
381
  }
325
382
 
326
383
  // ── start ─────────────────────────────────────────────────────────────────────
327
384
 
385
+ function sleep(ms) {
386
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
387
+ }
388
+
389
+ function waitForMySQL(container, user, pass, maxAttempts = 30) {
390
+ process.stdout.write(' Waiting for MySQL');
391
+ for (let i = 0; i < maxAttempts; i++) {
392
+ const r = spawnSync('docker', [
393
+ 'exec', container, 'mysqladmin', 'ping',
394
+ '-h', 'localhost', `-u${user}`, `-p${pass}`, '--silent'
395
+ ], { stdio: 'pipe' });
396
+ if (r.status === 0) { process.stdout.write(' ready\n'); return true; }
397
+ process.stdout.write('.');
398
+ sleep(2000);
399
+ }
400
+ process.stdout.write(' timed out\n');
401
+ return false;
402
+ }
403
+
328
404
  function cmdStart() {
329
405
  const cwd = process.cwd();
330
406
  const missing = ['.env', '.env.frontend'].filter(f => !fs.existsSync(path.join(cwd, f)));
@@ -339,10 +415,33 @@ function cmdStart() {
339
415
  if (flags.includes('--local-db') || flags.includes('--db')) profiles.push('--profile', 'local-db');
340
416
  if (flags.includes('--local-mqtt') || flags.includes('--mqtt')) profiles.push('--profile', 'local-mqtt');
341
417
 
418
+ const seedIdx = args.indexOf('--seed');
419
+ const seedFile = seedIdx !== -1 ? args[seedIdx + 1] : null;
420
+ if (seedFile && !fs.existsSync(seedFile)) die(`Seed file not found: ${seedFile}`);
421
+
342
422
  console.log('Pulling latest FreeSchema images…');
343
423
  runCompose([...profiles, 'pull']);
344
424
  console.log('\nStarting FreeSchema services…');
345
425
  runCompose([...profiles, 'up', '-d']);
426
+
427
+ if (seedFile) {
428
+ console.log('\nApplying seed file…');
429
+ const env = readEnv();
430
+ const dbUser = env.DB_USER || env.MYSQL_USER || 'freeschema';
431
+ const dbPass = env.DB_PASSWORD || env.MYSQL_PASSWORD || 'Freeschema@123';
432
+ const dbName = env.DB_DATABASE || 'freeschema_db';
433
+ const container = getMysqlContainer();
434
+ if (!waitForMySQL(container, dbUser, dbPass)) die('MySQL did not become ready — check logs with `freeschema logs mysql-server`.');
435
+ console.log(` Seeding ${dbName} from ${seedFile}…`);
436
+ const result = spawnSync(
437
+ 'docker',
438
+ ['exec', '-i', container, 'mysql', `-u${dbUser}`, `-p${dbPass}`, dbName],
439
+ { input: fs.readFileSync(seedFile), stdio: ['pipe', 'inherit', 'inherit'] }
440
+ );
441
+ if (result.error || result.status !== 0) die('Seed failed — check container logs.');
442
+ console.log(' Seed applied ✓');
443
+ }
444
+
346
445
  console.log('\nFreeSchema is running.');
347
446
  console.log(' Status: freeschema status');
348
447
  console.log(' Logs: freeschema logs');
@@ -369,6 +468,26 @@ function cmdPull() {
369
468
  console.log('\nDone. Run `freeschema restart` to apply.');
370
469
  }
371
470
 
471
+ function cmdUpdate() {
472
+ console.log('Updating FreeSchema…\n');
473
+
474
+ // 1. Update the CLI itself via npm
475
+ console.log('Step 1/2 — Updating freeschema CLI…');
476
+ const npm = process.platform === 'win32' ? 'npm.cmd' : 'npm';
477
+ const r = spawnSync(npm, ['install', '-g', 'freeschema@latest'], { stdio: 'inherit' });
478
+ if (r.error || r.status !== 0) {
479
+ console.warn(' Could not auto-update CLI (try: npm install -g freeschema@latest)');
480
+ } else {
481
+ console.log(' CLI updated ✓');
482
+ }
483
+
484
+ // 2. Pull latest Docker images and restart
485
+ console.log('\nStep 2/2 — Pulling latest Docker images…');
486
+ runCompose(['pull']);
487
+ runCompose(['up', '-d']);
488
+ console.log('\nFreeSchema is up to date.');
489
+ }
490
+
372
491
  function cmdDown() {
373
492
  const v = args.includes('--volumes') || args.includes('-v');
374
493
  console.log(v ? 'Removing containers and volumes…' : 'Removing containers…');
@@ -414,14 +533,12 @@ function cmdDbSeed() {
414
533
  if (urlIdx !== -1) {
415
534
  const url = args[urlIdx + 1];
416
535
  if (!url) die('--url requires a URL');
417
- const name = path.basename(new URL(url).pathname) || 'seed.sql';
536
+ const name = path.basename(new URL(url.replace('%2540', '%40')).pathname) || 'seed.sql';
418
537
  const dest = path.join(seedDir, name);
419
538
  console.log(`Downloading → seed-db/${name}…`);
420
- const file = fs.createWriteStream(dest);
421
- https.get(url, res => {
422
- res.pipe(file);
423
- file.on('finish', () => console.log('Done. Run `freeschema start --local-db` to apply on first boot.'));
424
- }).on('error', e => { fs.unlinkSync(dest); die(e.message); });
539
+ httpsDownload(url, fs.createWriteStream(dest))
540
+ .then(() => console.log('Done. Run `freeschema start --local-db` to apply on first boot.'))
541
+ .catch(e => { try { fs.unlinkSync(dest); } catch {} die(e.message); });
425
542
  return;
426
543
  }
427
544
 
@@ -484,11 +601,13 @@ Commands:
484
601
  start Pull latest images and start all services
485
602
  --local-db Spin up the bundled MySQL container
486
603
  --local-mqtt Spin up the bundled MQTT broker
604
+ --seed <file> Apply a SQL file after MySQL is ready (every start)
487
605
  stop Stop all running services
488
606
  restart [service] Restart all or one service
489
607
  status Show container status
490
608
  logs [service] Stream logs (--no-follow to print without streaming)
491
609
  pull Pull latest images without restarting
610
+ update Update CLI + pull latest images and restart
492
611
  down [-v] Remove containers (-v also removes data volumes)
493
612
 
494
613
  db seed --url <url> Download SQL seed file into seed-db/
@@ -499,6 +618,7 @@ Commands:
499
618
  Examples:
500
619
  freeschema init
501
620
  freeschema start --local-db --local-mqtt
621
+ freeschema start --local-db --seed ./mydata.sql
502
622
  freeschema db seed --file ./schema.sql
503
623
  freeschema db backup
504
624
  freeschema db restore backup-2026-05-19.sql
@@ -517,6 +637,7 @@ switch (command) {
517
637
  case 'status': cmdStatus(); break;
518
638
  case 'logs': cmdLogs(); break;
519
639
  case 'pull': cmdPull(); break;
640
+ case 'update': cmdUpdate(); break;
520
641
  case 'down': cmdDown(); break;
521
642
  case 'db': cmdDb(); break;
522
643
  case '--version': case '-v': console.log(VERSION); break;
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "freeschema",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "FreeSchema — self-hosted deployment CLI",
5
- "keywords": ["freeschema", "self-hosted", "docker"],
5
+ "keywords": [
6
+ "freeschema",
7
+ "self-hosted",
8
+ "docker"
9
+ ],
6
10
  "homepage": "https://freeschema.com",
7
11
  "license": "MIT",
8
12
  "bin": {
@@ -0,0 +1,27 @@
1
+ #!/bin/bash
2
+ # Database initialization script using environment variables
3
+ # NOTE: MySQL Docker automatically skips this when data volume exists
4
+
5
+ set -e
6
+
7
+ MAIN_DB="${MYSQL_DATABASE:-freeschema_db}"
8
+ SESSION_DB="${MYSQL_SESSION_DATABASE:-sessions_db}"
9
+ APP_USER="${MYSQL_USER:-freeschema}"
10
+ APP_PASS="${MYSQL_PASSWORD:-Freeschema@123}"
11
+
12
+ echo "============================================"
13
+ echo "Initializing: $MAIN_DB, $SESSION_DB"
14
+ echo "User: $APP_USER"
15
+ echo "============================================"
16
+
17
+ # Create databases and user (all idempotent with IF NOT EXISTS)
18
+ mysql -uroot -p"$MYSQL_ROOT_PASSWORD" <<-EOSQL
19
+ CREATE DATABASE IF NOT EXISTS \`$MAIN_DB\`;
20
+ CREATE DATABASE IF NOT EXISTS \`$SESSION_DB\`;
21
+ CREATE USER IF NOT EXISTS '$APP_USER'@'%' IDENTIFIED BY '$APP_PASS';
22
+ GRANT ALL PRIVILEGES ON \`$MAIN_DB\`.* TO '$APP_USER'@'%';
23
+ GRANT ALL PRIVILEGES ON \`$SESSION_DB\`.* TO '$APP_USER'@'%';
24
+ FLUSH PRIVILEGES;
25
+ EOSQL
26
+
27
+ echo "Done!"
@@ -0,0 +1,824 @@
1
+ -- MySQL dump 10.13 Distrib 8.0.31, for Win64 (x86_64)
2
+ --
3
+ -- Host: 127.0.0.1 Database: freeschema_db
4
+ -- ------------------------------------------------------
5
+ -- Server version 8.0.43
6
+
7
+ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8
+ /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9
+ /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10
+ /*!50503 SET NAMES utf8mb4 */;
11
+ /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12
+ /*!40103 SET TIME_ZONE='+00:00' */;
13
+ /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14
+ /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15
+ /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16
+ /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17
+
18
+ --
19
+ -- Table structure for table `the_characters`
20
+ --
21
+
22
+ DROP TABLE IF EXISTS `the_characters`;
23
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
24
+ /*!50503 SET character_set_client = utf8mb4 */;
25
+ CREATE TABLE `the_characters` (
26
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
27
+ `user_id` bigint unsigned NOT NULL DEFAULT '999',
28
+ `data` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
29
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
30
+ `termination_datetime` datetime DEFAULT NULL,
31
+ `security_id` bigint unsigned NOT NULL DEFAULT '999',
32
+ `security_user_id` bigint unsigned NOT NULL DEFAULT '999',
33
+ `access_id` bigint unsigned NOT NULL DEFAULT '999',
34
+ `access_user_id` bigint unsigned NOT NULL DEFAULT '999',
35
+ `session_information_id` bigint unsigned NOT NULL DEFAULT '10000',
36
+ `session_information_user_id` bigint unsigned NOT NULL DEFAULT '999',
37
+ PRIMARY KEY (`id`,`user_id`),
38
+ UNIQUE KEY `the_characters_data_index` (`data`),
39
+ KEY `the_characters_access_index` (`access_id`,`access_user_id`),
40
+ KEY `the_characters_entry_timestamp_index` (`entry_timestamp`),
41
+ KEY `the_characters_security_index` (`security_user_id`,`security_id`),
42
+ KEY `the_characters_session_information_index` (`session_information_id`,`session_information_user_id`),
43
+ KEY `the_characters_termination_datetime_index` (`termination_datetime`),
44
+ KEY `the_characters_user_id_index` (`user_id`)
45
+ ) ENGINE=InnoDB AUTO_INCREMENT=294925 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin;
46
+ /*!40101 SET character_set_client = @saved_cs_client */;
47
+
48
+ --
49
+ -- Dumping data for table `the_characters`
50
+ --
51
+
52
+
53
+ --
54
+ -- Table structure for table `the_concepts`
55
+ --
56
+
57
+ DROP TABLE IF EXISTS `the_concepts`;
58
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
59
+ /*!50503 SET character_set_client = utf8mb4 */;
60
+ CREATE TABLE `the_concepts` (
61
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
62
+ `user_id` bigint unsigned NOT NULL DEFAULT '999',
63
+ `category_id` bigint unsigned NOT NULL,
64
+ `category_user_id` bigint unsigned NOT NULL DEFAULT '999',
65
+ `type_id` bigint unsigned NOT NULL,
66
+ `type_user_id` bigint unsigned NOT NULL DEFAULT '999',
67
+ `referent_id` bigint unsigned DEFAULT NULL,
68
+ `referent_user_id` bigint unsigned DEFAULT NULL,
69
+ `character_value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs,
70
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
71
+ `termination_datetime` datetime DEFAULT NULL,
72
+ `security_id` bigint unsigned NOT NULL DEFAULT '9999',
73
+ `security_user_id` bigint unsigned NOT NULL DEFAULT '999',
74
+ `access_id` bigint unsigned NOT NULL DEFAULT '9999',
75
+ `access_user_id` bigint unsigned NOT NULL DEFAULT '999',
76
+ `session_information_id` bigint unsigned NOT NULL DEFAULT '999',
77
+ `session_information_user_id` bigint unsigned NOT NULL DEFAULT '999',
78
+ PRIMARY KEY (`id`,`user_id`),
79
+ KEY `the_concepts_access_index` (`access_id`,`access_user_id`),
80
+ KEY `the_concepts_category_index` (`category_id`,`category_user_id`),
81
+ KEY `the_concepts_entry_timestamp_index` (`entry_timestamp`),
82
+ KEY `the_concepts_referent_index` (`referent_id`,`referent_user_id`),
83
+ KEY `the_concepts_security_index` (`security_id`,`security_user_id`),
84
+ KEY `the_concepts_session_information_index` (`session_information_id`,`session_information_user_id`),
85
+ KEY `the_concepts_termination_datetime_index` (`termination_datetime`),
86
+ KEY `the_concepts_type_index` (`type_id`,`type_user_id`),
87
+ KEY `the_concepts_user_id_index` (`user_id`),
88
+ KEY `idx_the_concepts_type_id_character_value` (`type_id`,`character_value`(255)),
89
+ FULLTEXT KEY `the_concepts_character_value` (`character_value`)
90
+ ) ENGINE=InnoDB AUTO_INCREMENT=100001241 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
91
+ /*!40101 SET character_set_client = @saved_cs_client */;
92
+
93
+ --
94
+ -- Dumping data for table `the_concepts`
95
+ --
96
+
97
+ /*!50003 SET @saved_cs_client = @@character_set_client */ ;
98
+ /*!50003 SET @saved_cs_results = @@character_set_results */ ;
99
+ /*!50003 SET @saved_col_connection = @@collation_connection */ ;
100
+ /*!50003 SET character_set_client = utf8mb4 */ ;
101
+ /*!50003 SET character_set_results = utf8mb4 */ ;
102
+ /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ;
103
+ /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
104
+ /*!50003 SET sql_mode = '' */ ;
105
+ DELIMITER ;;
106
+ /*!50003 CREATE*/ /*!50017 */ /*!50003 TRIGGER `after_concept_update` AFTER UPDATE ON `the_concepts` FOR EACH ROW BEGIN
107
+
108
+ referent_user_id, character_value, entry_timestamp, termination_datetime,
109
+ security_id, security_user_id, access_id, access_user_id, session_information_id, session_information_user_id)
110
+ VALUES (OLD.user_id, NOW(), OLD.id, OLD.user_id, OLD.type_id, OLD.type_user_id, OLD.category_id, OLD.category_user_id, OLD.referent_id, OLD.referent_user_id, OLD.character_value,
111
+ OLD.entry_timestamp, OLD.termination_datetime, OLD.security_id, OLD.security_user_id,
112
+ OLD.access_id, OLD.access_user_id, OLD.session_information_id, OLD.session_information_user_id);
113
+ END */;;
114
+ DELIMITER ;
115
+ /*!50003 SET sql_mode = @saved_sql_mode */ ;
116
+ /*!50003 SET character_set_client = @saved_cs_client */ ;
117
+ /*!50003 SET character_set_results = @saved_cs_results */ ;
118
+ /*!50003 SET collation_connection = @saved_col_connection */ ;
119
+ /*!50003 SET @saved_cs_client = @@character_set_client */ ;
120
+ /*!50003 SET @saved_cs_results = @@character_set_results */ ;
121
+ /*!50003 SET @saved_col_connection = @@collation_connection */ ;
122
+ /*!50003 SET character_set_client = utf8mb4 */ ;
123
+ /*!50003 SET character_set_results = utf8mb4 */ ;
124
+ /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ;
125
+ /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
126
+ /*!50003 SET sql_mode = '' */ ;
127
+ DELIMITER ;;
128
+ /*!50003 CREATE*/ /*!50017 */ /*!50003 TRIGGER `after_concept_delete` AFTER DELETE ON `the_concepts` FOR EACH ROW BEGIN
129
+
130
+ referent_user_id, character_value, entry_timestamp, termination_datetime,
131
+ security_id, security_user_id, access_id, access_user_id, session_information_id, session_information_user_id)
132
+ VALUES (OLD.user_id, NOW(), OLD.id, OLD.user_id, OLD.type_id, OLD.type_user_id, OLD.category_id, OLD.category_user_id, OLD.referent_id, OLD.referent_user_id, OLD.character_value,
133
+ OLD.entry_timestamp, OLD.termination_datetime, OLD.security_id, OLD.security_user_id,
134
+ OLD.access_id, OLD.access_user_id, OLD.session_information_id, OLD.session_information_user_id);
135
+ END */;;
136
+ DELIMITER ;
137
+ /*!50003 SET sql_mode = @saved_sql_mode */ ;
138
+ /*!50003 SET character_set_client = @saved_cs_client */ ;
139
+ /*!50003 SET character_set_results = @saved_cs_results */ ;
140
+ /*!50003 SET collation_connection = @saved_col_connection */ ;
141
+
142
+ --
143
+ -- Table structure for table `the_concepts_history`
144
+ --
145
+
146
+ DROP TABLE IF EXISTS `the_concepts_history`;
147
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
148
+ /*!50503 SET character_set_client = utf8mb4 */;
149
+ CREATE TABLE `the_concepts_history` (
150
+ `history_id` bigint unsigned NOT NULL AUTO_INCREMENT,
151
+ `history_user_id` bigint unsigned NOT NULL,
152
+ `history_entry_timestamp` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
153
+ `history_security_id` bigint unsigned DEFAULT NULL,
154
+ `history_security_user_id` bigint unsigned DEFAULT NULL,
155
+ `history_access_id` bigint unsigned DEFAULT NULL,
156
+ `history_access_user_id` bigint DEFAULT NULL,
157
+ `history_session_id` bigint unsigned DEFAULT NULL,
158
+ `history_session_user_id` bigint DEFAULT NULL,
159
+ `id` bigint unsigned DEFAULT NULL,
160
+ `user_id` bigint unsigned DEFAULT NULL,
161
+ `category_id` bigint unsigned DEFAULT NULL,
162
+ `category_user_id` bigint unsigned DEFAULT NULL,
163
+ `type_id` bigint unsigned DEFAULT NULL,
164
+ `type_user_id` bigint unsigned DEFAULT NULL,
165
+ `referent_id` bigint unsigned DEFAULT NULL,
166
+ `referent_user_id` bigint DEFAULT NULL,
167
+ `entry_timestamp` datetime DEFAULT NULL,
168
+ `termination_datetime` datetime DEFAULT NULL,
169
+ `security_id` bigint unsigned DEFAULT NULL,
170
+ `security_user_id` bigint unsigned DEFAULT NULL,
171
+ `access_id` bigint unsigned DEFAULT NULL,
172
+ `access_user_id` bigint unsigned DEFAULT NULL,
173
+ `session_information_id` bigint unsigned DEFAULT NULL,
174
+ `session_information_user_id` bigint unsigned DEFAULT NULL,
175
+ `character_value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci,
176
+ PRIMARY KEY (`history_id`,`history_user_id`),
177
+ KEY `concepts_history_access_index` (`access_id`,`access_user_id`),
178
+ KEY `concepts_history_history_entry_date_index` (`history_entry_timestamp`),
179
+ KEY `concepts_history_id_index` (`id`),
180
+ KEY `concepts_history_security_id_index` (`security_id`),
181
+ KEY `concepts_history_session_information_id_index` (`session_information_id`),
182
+ KEY `concepts_history_termination_date_index` (`termination_datetime`),
183
+ KEY `concepts_history_referent_id_index` (`referent_id`),
184
+ KEY `concepts_history_type_index` (`type_user_id`,`type_id`)
185
+ ) ENGINE=InnoDB AUTO_INCREMENT=2108 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_as_cs;
186
+ /*!40101 SET character_set_client = @saved_cs_client */;
187
+
188
+ --
189
+ -- Dumping data for table `the_concepts_history`
190
+ --
191
+
192
+
193
+ --
194
+ -- Table structure for table `the_connections`
195
+ --
196
+
197
+ DROP TABLE IF EXISTS `the_connections`;
198
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
199
+ /*!50503 SET character_set_client = utf8mb4 */;
200
+ CREATE TABLE `the_connections` (
201
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
202
+ `user_id` bigint unsigned NOT NULL,
203
+ `of_the_concepts_id` bigint unsigned NOT NULL,
204
+ `of_the_concepts_user_id` bigint unsigned NOT NULL,
205
+ `type_id` bigint unsigned NOT NULL COMMENT 'connection type: person''s phone numbers , html attribute , sql statement ... etc.',
206
+ `type_user_id` bigint unsigned NOT NULL,
207
+ `order_id` bigint unsigned NOT NULL,
208
+ `order_user_id` bigint unsigned NOT NULL,
209
+ `to_the_concepts_id` bigint unsigned NOT NULL,
210
+ `to_the_concepts_user_id` bigint unsigned NOT NULL,
211
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
212
+ `termination_datetime` datetime DEFAULT NULL,
213
+ `security_id` bigint unsigned NOT NULL,
214
+ `security_user_id` bigint unsigned NOT NULL,
215
+ `access_id` bigint unsigned NOT NULL,
216
+ `access_user_id` bigint unsigned NOT NULL,
217
+ `session_information_id` bigint unsigned NOT NULL,
218
+ `session_information_user_id` bigint unsigned NOT NULL,
219
+ PRIMARY KEY (`id`,`user_id`),
220
+ KEY `the_connections_access_index` (`access_id`,`access_user_id`),
221
+ KEY `the_connections_entry_timestamp_index` (`entry_timestamp`),
222
+ KEY `the_connections_of_the_concepts_index` (`of_the_concepts_id`,`of_the_concepts_user_id`),
223
+ KEY `the_connections_order_index` (`order_id`,`order_user_id`),
224
+ KEY `the_connections_security_index` (`security_user_id`,`security_id`),
225
+ KEY `the_connections_session_information_index` (`session_information_id`,`session_information_user_id`),
226
+ KEY `the_connections_termination_datetime_index` (`termination_datetime`),
227
+ KEY `the_connections_to_the_concepts_index` (`to_the_concepts_user_id`,`to_the_concepts_id`),
228
+ KEY `the_connections_type_index` (`type_id`,`type_user_id`),
229
+ KEY `the_connections_user_id_index` (`user_id`),
230
+ KEY `connection_to_the_concept` (`to_the_concepts_id`),
231
+ KEY `connection_of_the_concept` (`of_the_concepts_id`),
232
+ KEY `connection_type` (`type_id`)
233
+ ) ENGINE=InnoDB AUTO_INCREMENT=14993057 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
234
+ /*!40101 SET character_set_client = @saved_cs_client */;
235
+
236
+ --
237
+ -- Dumping data for table `the_connections`
238
+ --
239
+
240
+ /*!50003 SET @saved_cs_client = @@character_set_client */ ;
241
+ /*!50003 SET @saved_cs_results = @@character_set_results */ ;
242
+ /*!50003 SET @saved_col_connection = @@collation_connection */ ;
243
+ /*!50003 SET character_set_client = utf8mb4 */ ;
244
+ /*!50003 SET character_set_results = utf8mb4 */ ;
245
+ /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ;
246
+ /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
247
+ /*!50003 SET sql_mode = '' */ ;
248
+ DELIMITER ;;
249
+ /*!50003 CREATE*/ /*!50017 */ /*!50003 TRIGGER `after_connection_update` AFTER UPDATE ON `the_connections` FOR EACH ROW BEGIN
250
+
251
+ of_the_concepts_user_id, to_the_concepts_id, to_the_concepts_user_id, entry_timestamp, termination_datetime,
252
+ security_id, security_user_id, access_id, access_user_id, session_information_id, session_information_user_id)
253
+ VALUES (OLD.user_id, NOW(), OLD.id, OLD.user_id, OLD.type_id, OLD.type_user_id, OLD.order_id, OLD.of_the_concepts_id, OLD.of_the_concepts_user_id,
254
+ OLD.to_the_concepts_id, OLD.to_the_concepts_user_id, OLD.entry_timestamp, OLD.termination_datetime, OLD.security_id, OLD.security_user_id,
255
+ OLD.access_id, OLD.access_user_id, OLD.session_information_id, OLD.session_information_user_id);
256
+ END */;;
257
+ DELIMITER ;
258
+ /*!50003 SET sql_mode = @saved_sql_mode */ ;
259
+ /*!50003 SET character_set_client = @saved_cs_client */ ;
260
+ /*!50003 SET character_set_results = @saved_cs_results */ ;
261
+ /*!50003 SET collation_connection = @saved_col_connection */ ;
262
+ /*!50003 SET @saved_cs_client = @@character_set_client */ ;
263
+ /*!50003 SET @saved_cs_results = @@character_set_results */ ;
264
+ /*!50003 SET @saved_col_connection = @@collation_connection */ ;
265
+ /*!50003 SET character_set_client = utf8mb4 */ ;
266
+ /*!50003 SET character_set_results = utf8mb4 */ ;
267
+ /*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ;
268
+ /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
269
+ /*!50003 SET sql_mode = '' */ ;
270
+ DELIMITER ;;
271
+ /*!50003 CREATE*/ /*!50017 */ /*!50003 TRIGGER `after_connection_delete` AFTER DELETE ON `the_connections` FOR EACH ROW BEGIN
272
+
273
+ of_the_concepts_user_id, to_the_concepts_id, to_the_concepts_user_id, entry_timestamp, termination_datetime,
274
+ security_id, security_user_id, access_id, access_user_id, session_information_id, session_information_user_id)
275
+ VALUES (OLD.user_id, NOW(), OLD.id, OLD.user_id, OLD.type_id, OLD.type_user_id, OLD.order_id, OLD.of_the_concepts_id, OLD.of_the_concepts_user_id,
276
+ OLD.to_the_concepts_id, OLD.to_the_concepts_user_id, OLD.entry_timestamp, OLD.termination_datetime, OLD.security_id, OLD.security_user_id,
277
+ OLD.access_id, OLD.access_user_id, OLD.session_information_id, OLD.session_information_user_id);
278
+ END */;;
279
+ DELIMITER ;
280
+ /*!50003 SET sql_mode = @saved_sql_mode */ ;
281
+ /*!50003 SET character_set_client = @saved_cs_client */ ;
282
+ /*!50003 SET character_set_results = @saved_cs_results */ ;
283
+ /*!50003 SET collation_connection = @saved_col_connection */ ;
284
+
285
+ --
286
+ -- Table structure for table `the_connections_history`
287
+ --
288
+
289
+ DROP TABLE IF EXISTS `the_connections_history`;
290
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
291
+ /*!50503 SET character_set_client = utf8mb4 */;
292
+ CREATE TABLE `the_connections_history` (
293
+ `history_id` bigint unsigned NOT NULL AUTO_INCREMENT,
294
+ `history_user_id` bigint unsigned NOT NULL,
295
+ `history_entry_timestamp` timestamp NULL DEFAULT NULL,
296
+ `history_security_id` bigint unsigned DEFAULT NULL,
297
+ `history_security_user_id` bigint unsigned DEFAULT NULL,
298
+ `history_access_id` bigint unsigned DEFAULT NULL,
299
+ `history_access_user_id` bigint unsigned DEFAULT NULL,
300
+ `history_session_information_id` bigint unsigned DEFAULT NULL,
301
+ `history_session_information_user_id` bigint unsigned DEFAULT NULL,
302
+ `id` bigint unsigned NOT NULL,
303
+ `user_id` bigint unsigned NOT NULL,
304
+ `type_id` bigint unsigned DEFAULT NULL,
305
+ `type_user_id` bigint unsigned DEFAULT NULL,
306
+ `order_id` bigint DEFAULT NULL,
307
+ `of_the_concepts_id` bigint unsigned DEFAULT NULL,
308
+ `of_the_concepts_user_id` bigint unsigned DEFAULT NULL,
309
+ `to_the_concepts_id` bigint unsigned DEFAULT NULL,
310
+ `to_the_concepts_user_id` bigint unsigned DEFAULT NULL,
311
+ `entry_timestamp` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
312
+ `termination_datetime` datetime DEFAULT NULL,
313
+ `security_id` bigint unsigned DEFAULT NULL,
314
+ `security_user_id` bigint unsigned DEFAULT NULL,
315
+ `access_id` bigint unsigned DEFAULT NULL,
316
+ `access_user_id` bigint unsigned DEFAULT NULL,
317
+ `session_information_id` bigint unsigned DEFAULT NULL,
318
+ `session_information_user_id` bigint unsigned DEFAULT NULL,
319
+ PRIMARY KEY (`history_id`,`history_user_id`,`id`,`user_id`),
320
+ KEY `connections_access_index` (`access_id`,`access_user_id`),
321
+ KEY `connections_of_concept_index` (`of_the_concepts_id`,`of_the_concepts_user_id`),
322
+ KEY `connections_security_index` (`security_user_id`,`security_id`),
323
+ KEY `connections_session_information_index` (`session_information_id`,`session_information_user_id`),
324
+ KEY `connections_to_the_concept_index` (`to_the_concepts_id`,`to_the_concepts_user_id`),
325
+ KEY `connections_type_index` (`type_id`,`type_user_id`),
326
+ KEY `connections_user_id_index` (`user_id`),
327
+ KEY `The_connections_order_index` (`order_id`)
328
+ ) ENGINE=InnoDB AUTO_INCREMENT=1039 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
329
+ /*!40101 SET character_set_client = @saved_cs_client */;
330
+
331
+ --
332
+ -- Dumping data for table `the_connections_history`
333
+ --
334
+
335
+
336
+ --
337
+ -- Table structure for table `the_dates`
338
+ --
339
+
340
+ DROP TABLE IF EXISTS `the_dates`;
341
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
342
+ /*!50503 SET character_set_client = utf8mb4 */;
343
+ CREATE TABLE `the_dates` (
344
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
345
+ `user_id` bigint unsigned NOT NULL,
346
+ `data` date DEFAULT NULL,
347
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
348
+ `termination_datetime` datetime DEFAULT NULL,
349
+ `security_id` bigint unsigned NOT NULL,
350
+ `security_user_id` bigint unsigned NOT NULL,
351
+ `access_id` bigint unsigned NOT NULL,
352
+ `access_user_id` bigint unsigned NOT NULL,
353
+ `session_information_id` bigint unsigned NOT NULL,
354
+ `session_information_user_id` bigint unsigned NOT NULL,
355
+ PRIMARY KEY (`id`,`user_id`),
356
+ KEY `the_dates_access_index` (`access_id`,`access_user_id`),
357
+ KEY `the_dates_entry_timestamp_index` (`entry_timestamp`),
358
+ KEY `the_dates_security_index` (`security_id`,`security_user_id`),
359
+ KEY `the_dates_session_information_index` (`session_information_id`,`session_information_user_id`),
360
+ KEY `the_dates_termination_datetime_index` (`termination_datetime`),
361
+ KEY `the_dates_user_id_index` (`user_id`)
362
+ ) ENGINE=InnoDB AUTO_INCREMENT=113265 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
363
+ /*!40101 SET character_set_client = @saved_cs_client */;
364
+
365
+ --
366
+ -- Dumping data for table `the_dates`
367
+ --
368
+
369
+
370
+ --
371
+ -- Table structure for table `the_documents`
372
+ --
373
+
374
+ DROP TABLE IF EXISTS `the_documents`;
375
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
376
+ /*!50503 SET character_set_client = utf8mb4 */;
377
+ CREATE TABLE `the_documents` (
378
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
379
+ `user_id` bigint unsigned NOT NULL,
380
+ `data` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
381
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
382
+ `termination_datetime` datetime DEFAULT NULL,
383
+ `security_id` bigint unsigned NOT NULL,
384
+ `security_user_id` bigint unsigned NOT NULL,
385
+ `access_id` bigint unsigned NOT NULL,
386
+ `access_user_id` bigint unsigned NOT NULL,
387
+ `session_information_id` bigint unsigned NOT NULL,
388
+ `session_information_user_id` bigint unsigned NOT NULL,
389
+ PRIMARY KEY (`id`,`user_id`),
390
+ KEY `the_documents_access_index` (`access_id`,`access_user_id`),
391
+ KEY `the_documents_session_information_index` (`session_information_id`,`session_information_user_id`),
392
+ KEY `the_documents_security_index` (`security_user_id`,`security_id`),
393
+ KEY `the_documents_entry_timestamp_index` (`entry_timestamp`),
394
+ KEY `the_documents_termination_datetime_index` (`termination_datetime`),
395
+ KEY `the_documents_user_id_index` (`user_id`)
396
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
397
+ /*!40101 SET character_set_client = @saved_cs_client */;
398
+
399
+ --
400
+ -- Dumping data for table `the_documents`
401
+ --
402
+
403
+
404
+ --
405
+ -- Table structure for table `the_images`
406
+ --
407
+
408
+ DROP TABLE IF EXISTS `the_images`;
409
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
410
+ /*!50503 SET character_set_client = utf8mb4 */;
411
+ CREATE TABLE `the_images` (
412
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
413
+ `user_id` bigint unsigned NOT NULL,
414
+ `data` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
415
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
416
+ `termination_datetime` datetime DEFAULT NULL,
417
+ `security_id` bigint unsigned NOT NULL,
418
+ `security_user_id` bigint unsigned NOT NULL,
419
+ `access_id` bigint unsigned NOT NULL,
420
+ `access_user_id` bigint unsigned NOT NULL,
421
+ `session_information_id` bigint unsigned NOT NULL,
422
+ `session_information_user_id` bigint unsigned NOT NULL,
423
+ PRIMARY KEY (`id`,`user_id`),
424
+ KEY `the_images_user_id_index` (`user_id`),
425
+ KEY `the_images_termination_datetime_index` (`termination_datetime`),
426
+ KEY `the_images_security_index` (`security_id`,`security_user_id`),
427
+ KEY `the_images_access_index` (`access_id`,`access_user_id`),
428
+ KEY `the_images_session_information_index` (`session_information_id`,`session_information_user_id`),
429
+ KEY `the_images_entry_timestamp_index` (`entry_timestamp`)
430
+ ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
431
+ /*!40101 SET character_set_client = @saved_cs_client */;
432
+
433
+ --
434
+ -- Dumping data for table `the_images`
435
+ --
436
+
437
+
438
+ --
439
+ -- Table structure for table `the_ipv6s`
440
+ --
441
+
442
+ DROP TABLE IF EXISTS `the_ipv6s`;
443
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
444
+ /*!50503 SET character_set_client = utf8mb4 */;
445
+ CREATE TABLE `the_ipv6s` (
446
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
447
+ `user_id` bigint unsigned NOT NULL,
448
+ `data` varbinary(16) NOT NULL,
449
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
450
+ `termination_datetime` datetime DEFAULT NULL,
451
+ `security_id` bigint unsigned NOT NULL,
452
+ `security_user_id` bigint unsigned NOT NULL,
453
+ `access_id` bigint unsigned NOT NULL,
454
+ `access_user_id` bigint unsigned NOT NULL,
455
+ `session_information_id` bigint unsigned NOT NULL,
456
+ `session_information_user_id` bigint unsigned NOT NULL,
457
+ PRIMARY KEY (`id`,`user_id`),
458
+ UNIQUE KEY `the_ipv6s_data_index` (`data`),
459
+ KEY `the_ipv6s_access_index` (`access_id`,`access_user_id`),
460
+ KEY `the_ipv6s_entry_timestamp_index` (`entry_timestamp`),
461
+ KEY `the_ipv6s_security_index` (`security_user_id`,`security_id`),
462
+ KEY `the_ipv6s_session_information_index` (`session_information_id`,`session_information_user_id`),
463
+ KEY `the_ipv6s_termination_datetime_index` (`termination_datetime`),
464
+ KEY `the_ipv6s_user_id_index` (`user_id`)
465
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
466
+ /*!40101 SET character_set_client = @saved_cs_client */;
467
+
468
+ --
469
+ -- Dumping data for table `the_ipv6s`
470
+ --
471
+
472
+
473
+ --
474
+ -- Table structure for table `the_numbers`
475
+ --
476
+
477
+ DROP TABLE IF EXISTS `the_numbers`;
478
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
479
+ /*!50503 SET character_set_client = utf8mb4 */;
480
+ CREATE TABLE `the_numbers` (
481
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
482
+ `user_id` bigint unsigned NOT NULL,
483
+ `data` double DEFAULT NULL,
484
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
485
+ `termination_datetime` datetime DEFAULT NULL,
486
+ `security_id` bigint unsigned NOT NULL,
487
+ `security_user_id` bigint unsigned NOT NULL,
488
+ `access_id` bigint unsigned NOT NULL,
489
+ `access_user_id` bigint unsigned NOT NULL,
490
+ `session_information_id` bigint unsigned NOT NULL,
491
+ `session_information_user_id` bigint unsigned NOT NULL,
492
+ PRIMARY KEY (`id`,`user_id`),
493
+ KEY `the_numbers_user_id_index` (`user_id`),
494
+ KEY `the_numbers_data_index` (`data`),
495
+ KEY `the_numbers_entry_timestamp_index` (`entry_timestamp`),
496
+ KEY `the_numbers_termination_datetime_index` (`termination_datetime`),
497
+ KEY `the_numbers_security_index` (`security_user_id`,`security_id`),
498
+ KEY `the_numbers_access_index` (`access_id`,`access_user_id`),
499
+ KEY `the_numbers_session_information_index` (`session_information_id`,`session_information_user_id`)
500
+ ) ENGINE=InnoDB AUTO_INCREMENT=68741 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
501
+ /*!40101 SET character_set_client = @saved_cs_client */;
502
+
503
+ --
504
+ -- Dumping data for table `the_numbers`
505
+ --
506
+
507
+
508
+ --
509
+ -- Table structure for table `the_passcodes`
510
+ --
511
+
512
+ DROP TABLE IF EXISTS `the_passcodes`;
513
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
514
+ /*!50503 SET character_set_client = utf8mb4 */;
515
+ CREATE TABLE `the_passcodes` (
516
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
517
+ `user_id` bigint unsigned NOT NULL,
518
+ `type_id` bigint unsigned NOT NULL,
519
+ `type_user_id` bigint unsigned NOT NULL COMMENT 'person, company, program',
520
+ `concept_id` bigint unsigned NOT NULL,
521
+ `concept_user_id` int unsigned NOT NULL,
522
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
523
+ `termination_datetime` datetime DEFAULT NULL,
524
+ `security_id` bigint unsigned NOT NULL,
525
+ `security_user_id` bigint unsigned NOT NULL,
526
+ `access_id` bigint unsigned NOT NULL,
527
+ `access_user_id` bigint unsigned NOT NULL,
528
+ `session_information_id` bigint unsigned NOT NULL,
529
+ `session_information_user_id` bigint unsigned NOT NULL,
530
+ PRIMARY KEY (`id`),
531
+ KEY `The_passcodes_user_id_index` (`user_id`),
532
+ KEY `The_passcodes_type_index` (`type_id`,`type_user_id`),
533
+ KEY `The_passcodes_concept_index` (`concept_id`,`concept_user_id`),
534
+ KEY `The_passcodes_entry_timestamp_index` (`entry_timestamp`),
535
+ KEY `The_passcodes_termination_datetime_index` (`termination_datetime`),
536
+ KEY `The_passcodes_security_index` (`security_id`,`security_user_id`),
537
+ KEY `The_passcodes_access_index` (`access_id`,`access_user_id`),
538
+ KEY `The_passcodes_session_information_index` (`session_information_id`,`session_information_user_id`)
539
+ ) ENGINE=InnoDB AUTO_INCREMENT=2641 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
540
+ /*!40101 SET character_set_client = @saved_cs_client */;
541
+
542
+ --
543
+ -- Dumping data for table `the_passcodes`
544
+ --
545
+
546
+
547
+ --
548
+ -- Table structure for table `the_passwords`
549
+ --
550
+
551
+ DROP TABLE IF EXISTS `the_passwords`;
552
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
553
+ /*!50503 SET character_set_client = utf8mb4 */;
554
+ CREATE TABLE `the_passwords` (
555
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
556
+ `data` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
557
+ PRIMARY KEY (`id`)
558
+ ) ENGINE=InnoDB AUTO_INCREMENT=1280 DEFAULT CHARSET=utf8mb3;
559
+ /*!40101 SET character_set_client = @saved_cs_client */;
560
+
561
+ --
562
+ -- Dumping data for table `the_passwords`
563
+ --
564
+
565
+
566
+ --
567
+ -- Table structure for table `the_sounds`
568
+ --
569
+
570
+ DROP TABLE IF EXISTS `the_sounds`;
571
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
572
+ /*!50503 SET character_set_client = utf8mb4 */;
573
+ CREATE TABLE `the_sounds` (
574
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
575
+ `user_id` bigint unsigned NOT NULL,
576
+ `data` longblob,
577
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
578
+ `termination_datetime` datetime DEFAULT NULL,
579
+ `security_id` bigint unsigned NOT NULL,
580
+ `security_user_id` bigint unsigned NOT NULL,
581
+ `access_id` bigint unsigned NOT NULL,
582
+ `access_user_id` bigint unsigned NOT NULL,
583
+ `session_information_id` bigint unsigned NOT NULL,
584
+ `session_information_user_id` bigint unsigned NOT NULL,
585
+ PRIMARY KEY (`id`,`user_id`),
586
+ KEY `the_sounds_user_id_index` (`user_id`),
587
+ KEY `the_sounds_entry_timestamp_index` (`entry_timestamp`),
588
+ KEY `the_sounds_termination_datetime_index` (`termination_datetime`),
589
+ KEY `the_sounds_security_index` (`security_id`,`security_user_id`),
590
+ KEY `the_sounds_access_index` (`access_user_id`,`access_id`),
591
+ KEY `the_sounds_session_information_index` (`session_information_id`,`session_information_user_id`)
592
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
593
+ /*!40101 SET character_set_client = @saved_cs_client */;
594
+
595
+ --
596
+ -- Dumping data for table `the_sounds`
597
+ --
598
+
599
+
600
+ --
601
+ -- Table structure for table `the_texts`
602
+ --
603
+
604
+ DROP TABLE IF EXISTS `the_texts`;
605
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
606
+ /*!50503 SET character_set_client = utf8mb4 */;
607
+ CREATE TABLE `the_texts` (
608
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
609
+ `user_id` bigint unsigned NOT NULL,
610
+ `data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci,
611
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
612
+ `termination_datetime` datetime DEFAULT NULL,
613
+ `security_id` bigint unsigned NOT NULL,
614
+ `security_user_id` bigint unsigned NOT NULL,
615
+ `access_id` bigint unsigned NOT NULL,
616
+ `access_user_id` bigint unsigned NOT NULL,
617
+ `session_information_id` bigint unsigned NOT NULL,
618
+ `session_information_user_id` bigint unsigned NOT NULL,
619
+ PRIMARY KEY (`id`,`user_id`),
620
+ KEY `the_texts_user_id_index` (`user_id`),
621
+ KEY `the_texts_entry_timestamp_index` (`entry_timestamp`),
622
+ KEY `the_texts_termination_datetime_index` (`termination_datetime`),
623
+ KEY `the_texts_security_index` (`security_id`,`security_user_id`),
624
+ KEY `the_texts_access_index` (`access_id`,`access_user_id`),
625
+ KEY `the_texts_session_information_index` (`session_information_id`,`session_information_user_id`)
626
+ ) ENGINE=InnoDB AUTO_INCREMENT=355009 DEFAULT CHARSET=utf8mb3;
627
+ /*!40101 SET character_set_client = @saved_cs_client */;
628
+
629
+ --
630
+ -- Dumping data for table `the_texts`
631
+ --
632
+
633
+
634
+ --
635
+ -- Table structure for table `the_times`
636
+ --
637
+
638
+ DROP TABLE IF EXISTS `the_times`;
639
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
640
+ /*!50503 SET character_set_client = utf8mb4 */;
641
+ CREATE TABLE `the_times` (
642
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
643
+ `user_id` bigint unsigned NOT NULL,
644
+ `data` time DEFAULT NULL,
645
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
646
+ `termination_datetime` datetime DEFAULT NULL,
647
+ `security_id` bigint unsigned NOT NULL,
648
+ `security_user_id` bigint unsigned NOT NULL,
649
+ `access_id` bigint unsigned NOT NULL,
650
+ `access_user_id` bigint unsigned NOT NULL,
651
+ `session_information_id` bigint unsigned NOT NULL,
652
+ `session_information_user_id` bigint unsigned NOT NULL,
653
+ PRIMARY KEY (`id`,`user_id`),
654
+ KEY `the_times_user_id_index` (`user_id`),
655
+ KEY `the_times_entry_timestamp_index` (`entry_timestamp`),
656
+ KEY `the_times_termination_datetime_index` (`termination_datetime`),
657
+ KEY `the_times_security_index` (`security_id`,`security_user_id`),
658
+ KEY `the_times_access_index` (`access_id`,`access_user_id`),
659
+ KEY `the_times_session_information_index` (`session_information_id`,`session_information_user_id`)
660
+ ) ENGINE=InnoDB AUTO_INCREMENT=1773 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
661
+ /*!40101 SET character_set_client = @saved_cs_client */;
662
+
663
+ --
664
+ -- Dumping data for table `the_times`
665
+ --
666
+
667
+
668
+ --
669
+ -- Table structure for table `the_urls`
670
+ --
671
+
672
+ DROP TABLE IF EXISTS `the_urls`;
673
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
674
+ /*!50503 SET character_set_client = utf8mb4 */;
675
+ CREATE TABLE `the_urls` (
676
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
677
+ `user_id` bigint unsigned NOT NULL DEFAULT '999',
678
+ `data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
679
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
680
+ `termination_datetime` datetime DEFAULT NULL,
681
+ `security_id` bigint unsigned NOT NULL DEFAULT '999',
682
+ `security_user_id` bigint unsigned NOT NULL DEFAULT '999',
683
+ `access_id` bigint unsigned NOT NULL DEFAULT '999',
684
+ `access_user_id` bigint unsigned NOT NULL DEFAULT '999',
685
+ `session_information_id` bigint unsigned NOT NULL DEFAULT '10000',
686
+ `session_information_user_id` bigint unsigned NOT NULL DEFAULT '999',
687
+ PRIMARY KEY (`id`,`user_id`),
688
+ KEY `the_characters_access_index` (`access_id`,`access_user_id`),
689
+ KEY `the_characters_entry_timestamp_index` (`entry_timestamp`),
690
+ KEY `the_characters_security_index` (`security_user_id`,`security_id`),
691
+ KEY `the_characters_session_information_index` (`session_information_id`,`session_information_user_id`),
692
+ KEY `the_characters_termination_datetime_index` (`termination_datetime`),
693
+ KEY `the_characters_user_id_index` (`user_id`)
694
+ ) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin;
695
+ /*!40101 SET character_set_client = @saved_cs_client */;
696
+
697
+ --
698
+ -- Dumping data for table `the_urls`
699
+ --
700
+
701
+
702
+ --
703
+ -- Table structure for table `the_users`
704
+ --
705
+
706
+ DROP TABLE IF EXISTS `the_users`;
707
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
708
+ /*!50503 SET character_set_client = utf8mb4 */;
709
+ CREATE TABLE `the_users` (
710
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
711
+ `type_id` bigint unsigned NOT NULL,
712
+ `type_user_id` bigint unsigned NOT NULL,
713
+ `concept_id` bigint unsigned NOT NULL,
714
+ `concept_parent_user_id` bigint unsigned NOT NULL,
715
+ `concept_friend_user_id` bigint unsigned NOT NULL,
716
+ `system_id` bigint DEFAULT NULL,
717
+ `system_user_id` bigint DEFAULT NULL,
718
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
719
+ `termination_datetime` datetime DEFAULT NULL,
720
+ `security_id` bigint unsigned NOT NULL,
721
+ `security_user_id` bigint unsigned NOT NULL,
722
+ `access_id` bigint unsigned NOT NULL,
723
+ `access_user_id` bigint unsigned NOT NULL,
724
+ `session_information_id` bigint unsigned NOT NULL,
725
+ `session_information_user_id` bigint unsigned NOT NULL,
726
+ PRIMARY KEY (`id`,`type_id`),
727
+ KEY `the_users_type_index` (`type_user_id`,`type_id`),
728
+ KEY `the_users_concept_index` (`concept_id`,`concept_parent_user_id`),
729
+ KEY `the_users_entry_timestamp_index` (`entry_timestamp`),
730
+ KEY `the_users_termination_datetime_index` (`termination_datetime`),
731
+ KEY `the_users_security_index` (`security_id`,`security_user_id`),
732
+ KEY `the_users_access_index` (`access_id`,`access_user_id`),
733
+ KEY `the_users_session_information_index` (`session_information_id`,`session_information_user_id`)
734
+ ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
735
+ /*!40101 SET character_set_client = @saved_cs_client */;
736
+
737
+ --
738
+ -- Dumping data for table `the_users`
739
+ --
740
+
741
+
742
+ --
743
+ -- Table structure for table `the_uuids`
744
+ --
745
+
746
+ DROP TABLE IF EXISTS `the_uuids`;
747
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
748
+ /*!50503 SET character_set_client = utf8mb4 */;
749
+ CREATE TABLE `the_uuids` (
750
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
751
+ `user_id` bigint unsigned NOT NULL,
752
+ `data` varbinary(16) NOT NULL COMMENT 'uuids are converted to 16 byte binary code for 128 bits and fast indexing',
753
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
754
+ `termination_datetime` datetime DEFAULT NULL,
755
+ `security_id` bigint unsigned NOT NULL,
756
+ `security_user_id` bigint unsigned NOT NULL,
757
+ `access_id` bigint unsigned NOT NULL,
758
+ `access_user_id` bigint unsigned NOT NULL,
759
+ `session_information_id` bigint unsigned NOT NULL,
760
+ `session_information_user_id` bigint unsigned NOT NULL,
761
+ PRIMARY KEY (`id`,`user_id`),
762
+ UNIQUE KEY `the_uuids_data_index` (`data`),
763
+ KEY `the_uuids_user_id_index` (`user_id`),
764
+ KEY `the_uuids_entry_timestamp_index` (`entry_timestamp`),
765
+ KEY `the_uuids_termination_datetime_index` (`termination_datetime`),
766
+ KEY `the_uuids_security_index` (`security_id`,`security_user_id`),
767
+ KEY `the_uuids_access_index` (`access_id`,`access_user_id`),
768
+ KEY `the_uuids_session_information_index` (`session_information_id`,`session_information_user_id`)
769
+ ) ENGINE=InnoDB AUTO_INCREMENT=3048 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
770
+ /*!40101 SET character_set_client = @saved_cs_client */;
771
+
772
+ --
773
+ -- Dumping data for table `the_uuids`
774
+ --
775
+
776
+
777
+ --
778
+ -- Table structure for table `the_videos`
779
+ --
780
+
781
+ DROP TABLE IF EXISTS `the_videos`;
782
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
783
+ /*!50503 SET character_set_client = utf8mb4 */;
784
+ CREATE TABLE `the_videos` (
785
+ `id` bigint unsigned NOT NULL AUTO_INCREMENT,
786
+ `user_id` bigint unsigned NOT NULL,
787
+ `data` longblob NOT NULL,
788
+ `entry_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
789
+ `termination_datetime` datetime DEFAULT NULL,
790
+ `security_id` bigint unsigned NOT NULL,
791
+ `security_user_id` bigint unsigned NOT NULL,
792
+ `access_id` bigint unsigned NOT NULL,
793
+ `access_user_id` bigint unsigned NOT NULL,
794
+ `session_information_id` bigint unsigned NOT NULL,
795
+ `session_information_user_id` bigint unsigned NOT NULL,
796
+ PRIMARY KEY (`id`,`user_id`),
797
+ KEY `the_videos_user_id_index` (`user_id`),
798
+ KEY `the_videos_entry_timestamp_index` (`entry_timestamp`),
799
+ KEY `the_videos_termination_datetime_index` (`termination_datetime`),
800
+ KEY `the_videos_security_index` (`security_id`,`security_user_id`),
801
+ KEY `the_videos_access_index` (`access_id`,`access_user_id`),
802
+ KEY `the_videos_session_information_index` (`session_information_id`,`session_information_user_id`)
803
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
804
+ /*!40101 SET character_set_client = @saved_cs_client */;
805
+
806
+ --
807
+ -- Dumping data for table `the_videos`
808
+ --
809
+
810
+
811
+ --
812
+ -- Dumping routines for database 'freeschema_db'
813
+ --
814
+ /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
815
+
816
+ /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
817
+ /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
818
+ /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
819
+ /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
820
+ /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
821
+ /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
822
+ /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
823
+
824
+ -- Dump completed on 2025-10-31 13:38:01