blufin 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/bin/bf +5 -0
- data/bin/blufin +5 -0
- data/lib/blufin.rb +245 -0
- data/lib/core/code_scanners/common/scanner_common.rb +83 -0
- data/lib/core/code_scanners/common/scanner_java.rb +106 -0
- data/lib/core/code_scanners/scanner_java_embedded_objects.rb +386 -0
- data/lib/core/code_scanners/scanner_java_enums.rb +125 -0
- data/lib/core/code_scanners/scanner_java_source.rb +29 -0
- data/lib/core/code_scanners/scanner_java_tests.rb +157 -0
- data/lib/core/error_handling/schema_error.rb +9 -0
- data/lib/core/error_handling/sql_error.rb +21 -0
- data/lib/core/error_handling/sql_error_handler.rb +149 -0
- data/lib/core/error_handling/yml_error.rb +21 -0
- data/lib/core/error_handling/yml_error_handler.rb +437 -0
- data/lib/core/mysql.rb +347 -0
- data/lib/core/opt.rb +21 -0
- data/lib/core/site/site.rb +26 -0
- data/lib/core/site/site_auth.rb +88 -0
- data/lib/core/site/site_embedded.rb +27 -0
- data/lib/core/site/site_ports.rb +9 -0
- data/lib/core/site/site_resolver.rb +276 -0
- data/lib/core/site/site_services.rb +162 -0
- data/lib/core/site/site_ui.rb +16 -0
- data/lib/core/yml/config/yml_config_validator.rb +219 -0
- data/lib/core/yml/maven/yml_maven_validator.rb +1132 -0
- data/lib/core/yml/resource/yml_resource_validator.rb +154 -0
- data/lib/core/yml/schema/yml_schema_flags.rb +9 -0
- data/lib/core/yml/schema/yml_schema_validator.rb +1850 -0
- data/lib/core/yml/yml_cache_handler.rb +115 -0
- data/lib/core/yml/yml_common.rb +487 -0
- data/lib/core/yml/yml_meta_writer_base.rb +300 -0
- data/lib/core/yml/yml_outputter.rb +307 -0
- data/lib/core/yml/yml_validator_base.rb +630 -0
- data/lib/core/yml_writers/yml_configuration_writer.rb +40 -0
- data/lib/core/yml_writers/yml_java_api_resource_writer.rb +348 -0
- data/lib/core/yml_writers/yml_java_cron_type_writer.rb +113 -0
- data/lib/core/yml_writers/yml_java_css_dependency_writer.rb +59 -0
- data/lib/core/yml_writers/yml_java_dao_writer.rb +364 -0
- data/lib/core/yml_writers/yml_java_dto_writer.rb +251 -0
- data/lib/core/yml_writers/yml_java_embedded_object_writer.rb +968 -0
- data/lib/core/yml_writers/yml_java_enum_writer.rb +161 -0
- data/lib/core/yml_writers/yml_java_js_dependency_writer.rb +59 -0
- data/lib/core/yml_writers/yml_java_message_type_writer.rb +106 -0
- data/lib/core/yml_writers/yml_java_meta_writer.rb +173 -0
- data/lib/core/yml_writers/yml_java_model_writer.rb +510 -0
- data/lib/core/yml_writers/yml_java_pom_writer.rb +1050 -0
- data/lib/core/yml_writers/yml_java_resource_data_writer.rb +251 -0
- data/lib/core/yml_writers/yml_java_sdk_writer.rb +732 -0
- data/lib/core/yml_writers/yml_java_validator_writer.rb +280 -0
- data/lib/core/yml_writers/yml_java_worker_writer.rb +81 -0
- data/lib/core/yml_writers/yml_sql_structure_writer.rb +307 -0
- data/lib/core/yml_writers/yml_sql_template_writer.rb +243 -0
- data/lib/core/yml_writers/yml_vue_service_writer.rb +170 -0
- data/lib/core/yml_writers/yml_writer_base.rb +114 -0
- data/lib/routes/api_list.rb +35 -0
- data/lib/routes/api_meta.rb +59 -0
- data/lib/routes/build.rb +46 -0
- data/lib/routes/create/create_api.rb +35 -0
- data/lib/routes/create/create_ui.rb +84 -0
- data/lib/routes/export.rb +56 -0
- data/lib/routes/generate/generate_api.rb +225 -0
- data/lib/routes/generate/generate_img_favicon.rb +56 -0
- data/lib/routes/generate/generate_img_landing.rb +94 -0
- data/lib/routes/generate/generate_lambda.rb +43 -0
- data/lib/routes/lint.rb +35 -0
- data/lib/routes/mysql_reset.rb +43 -0
- data/lib/routes/release_blufin.rb +351 -0
- data/lib/routes/run.rb +35 -0
- data/lib/version.rb +1 -0
- data/opt/README.MD +2 -0
- data/opt/config/schema.yml +73 -0
- data/opt/config/template.yml +25 -0
- data/opt/sql/data/config/data-client.sql +7 -0
- data/opt/sql/data/config/data-db-configuration-property.sql +47 -0
- data/opt/sql/data/config/data-db-configuration.sql +9 -0
- data/opt/sql/data/config/data-db.sql +175 -0
- data/opt/sql/data/config/data-profile-api.sql +47 -0
- data/opt/sql/data/config/data-profile-cron.sql +0 -0
- data/opt/sql/data/config/data-profile-worker.sql +0 -0
- data/opt/sql/data/config/data-profile.sql +87 -0
- data/opt/sql/data/config/data-project.sql +95 -0
- data/opt/sql/structure/blufin-master-structure-fks.sql +65 -0
- data/opt/sql/structure/blufin-master-structure.sql +97 -0
- data/opt/sql/structure/blufin-mock-structure-fks.sql +38 -0
- data/opt/sql/structure/blufin-mock-structure.sql +98 -0
- data/opt/sql/templates/config/template-client.sql +7 -0
- data/opt/sql/templates/config/template-db-configuration-property.sql +11 -0
- data/opt/sql/templates/config/template-db-configuration.sql +9 -0
- data/opt/sql/templates/config/template-db.sql +21 -0
- data/opt/sql/templates/config/template-profile-api.sql +11 -0
- data/opt/sql/templates/config/template-profile-cron.sql +7 -0
- data/opt/sql/templates/config/template-profile-worker.sql +7 -0
- data/opt/sql/templates/config/template-profile.sql +21 -0
- data/opt/sql/templates/config/template-project.sql +23 -0
- data/opt/yml/api/schema/config/client.yml +14 -0
- data/opt/yml/api/schema/config/db.yml +45 -0
- data/opt/yml/api/schema/config/db_configuration.yml +22 -0
- data/opt/yml/api/schema/config/db_configuration_property.yml +22 -0
- data/opt/yml/api/schema/config/profile.yml +53 -0
- data/opt/yml/api/schema/config/profile_api.yml +22 -0
- data/opt/yml/api/schema/config/profile_cron.yml +14 -0
- data/opt/yml/api/schema/config/profile_worker.yml +14 -0
- data/opt/yml/api/schema/config/project.yml +48 -0
- data/opt/yml/api/schema/mock/mock.yml +99 -0
- data/opt/yml/api/schema/mock/mock_nested_if_enum.yml +16 -0
- data/opt/yml/api/schema/mock/mock_nested_if_enum_system.yml +16 -0
- data/opt/yml/api/schema/mock/mock_nested_linked.yml +43 -0
- data/opt/yml/api/schema/mock/mock_nested_multiple.yml +61 -0
- data/opt/yml/api/schema/mock/mock_nested_single.yml +67 -0
- data/opt/yml/api/schema/mock/mock_nested_single_super_deep.yml +32 -0
- data/opt/yml/api/schema/mock/mock_nested_single_super_super_deep.yml +17 -0
- metadata +240 -0
@@ -0,0 +1,95 @@
|
|
1
|
+
INSERT IGNORE INTO `blufin-master`.project (
|
2
|
+
`id`,
|
3
|
+
`client_id`, -- FK: config.client.id
|
4
|
+
`project_name`,
|
5
|
+
`project_name_pascal_case`,
|
6
|
+
`project_title`,
|
7
|
+
`domain`,
|
8
|
+
`alias`,
|
9
|
+
`port_range`,
|
10
|
+
`encryption_key`,
|
11
|
+
`encryption_iv`
|
12
|
+
) VALUES (
|
13
|
+
1,
|
14
|
+
1, -- FK: config.client.id
|
15
|
+
'skybutler',
|
16
|
+
'SkyButler',
|
17
|
+
'SkyButler',
|
18
|
+
'io',
|
19
|
+
'skb',
|
20
|
+
'6000-6019',
|
21
|
+
'2d@$''D2W~?hCvA[X',
|
22
|
+
'M$F)BB5%+VGtZ[<8'
|
23
|
+
);
|
24
|
+
|
25
|
+
INSERT IGNORE INTO `blufin-master`.project (
|
26
|
+
`id`,
|
27
|
+
`client_id`, -- FK: config.client.id
|
28
|
+
`project_name`,
|
29
|
+
`project_name_pascal_case`,
|
30
|
+
`project_title`,
|
31
|
+
`domain`,
|
32
|
+
`alias`,
|
33
|
+
`port_range`,
|
34
|
+
`encryption_key`,
|
35
|
+
`encryption_iv`
|
36
|
+
) VALUES (
|
37
|
+
2,
|
38
|
+
1, -- FK: config.client.id
|
39
|
+
'go-eat',
|
40
|
+
'GoEat',
|
41
|
+
'Go-EAT',
|
42
|
+
'app',
|
43
|
+
'ge',
|
44
|
+
'6020-6039',
|
45
|
+
'2d@$''D2W~?hCvA[X',
|
46
|
+
'M$F)BB5%+VGtZ[<8'
|
47
|
+
);
|
48
|
+
|
49
|
+
INSERT IGNORE INTO `blufin-master`.project (
|
50
|
+
`id`,
|
51
|
+
`client_id`, -- FK: config.client.id
|
52
|
+
`project_name`,
|
53
|
+
`project_name_pascal_case`,
|
54
|
+
`project_title`,
|
55
|
+
`domain`,
|
56
|
+
`alias`,
|
57
|
+
`port_range`,
|
58
|
+
`encryption_key`,
|
59
|
+
`encryption_iv`
|
60
|
+
) VALUES (
|
61
|
+
3,
|
62
|
+
1, -- FK: config.client.id
|
63
|
+
'taskbot',
|
64
|
+
'TaskBot',
|
65
|
+
'TaskBot',
|
66
|
+
'com.rannetsperger',
|
67
|
+
'tb',
|
68
|
+
'6040-6059',
|
69
|
+
'2d@$''D2W~?hCvA[X',
|
70
|
+
'M$F)BB5%+VGtZ[<8'
|
71
|
+
);
|
72
|
+
|
73
|
+
INSERT IGNORE INTO `blufin-master`.project (
|
74
|
+
`id`,
|
75
|
+
`client_id`, -- FK: config.client.id
|
76
|
+
`project_name`,
|
77
|
+
`project_name_pascal_case`,
|
78
|
+
`project_title`,
|
79
|
+
`domain`,
|
80
|
+
`alias`,
|
81
|
+
`port_range`,
|
82
|
+
`encryption_key`,
|
83
|
+
`encryption_iv`
|
84
|
+
) VALUES (
|
85
|
+
4,
|
86
|
+
1, -- FK: config.client.id
|
87
|
+
'blufin-labs',
|
88
|
+
'BlufinLabs',
|
89
|
+
'Blufin Labs',
|
90
|
+
'org',
|
91
|
+
'bf',
|
92
|
+
'6060-6079',
|
93
|
+
'2d@$''D2W~?hCvA[X',
|
94
|
+
'M$F)BB5%+VGtZ[<8'
|
95
|
+
);
|
@@ -0,0 +1,65 @@
|
|
1
|
+
-- Add db FKs
|
2
|
+
ALTER TABLE `db`
|
3
|
+
ADD CONSTRAINT `fk_1`
|
4
|
+
FOREIGN KEY (`project_id`)
|
5
|
+
REFERENCES `project` (`id`)
|
6
|
+
ON DELETE RESTRICT
|
7
|
+
ON UPDATE CASCADE;
|
8
|
+
|
9
|
+
-- Add db_configuration_property FKs
|
10
|
+
ALTER TABLE `db_configuration_property`
|
11
|
+
ADD CONSTRAINT `fk_2`
|
12
|
+
FOREIGN KEY (`db_configuration_id`)
|
13
|
+
REFERENCES `db_configuration` (`id`)
|
14
|
+
ON DELETE RESTRICT
|
15
|
+
ON UPDATE CASCADE;
|
16
|
+
|
17
|
+
-- Add profile FKs
|
18
|
+
ALTER TABLE `profile`
|
19
|
+
ADD CONSTRAINT `fk_3`
|
20
|
+
FOREIGN KEY (`project_id`)
|
21
|
+
REFERENCES `project` (`id`)
|
22
|
+
ON DELETE RESTRICT
|
23
|
+
ON UPDATE CASCADE;
|
24
|
+
|
25
|
+
-- Add profile_api FKs
|
26
|
+
ALTER TABLE `profile_api`
|
27
|
+
ADD CONSTRAINT `fk_4`
|
28
|
+
FOREIGN KEY (`profile_id`)
|
29
|
+
REFERENCES `profile` (`id`)
|
30
|
+
ON DELETE RESTRICT
|
31
|
+
ON UPDATE CASCADE,
|
32
|
+
ADD CONSTRAINT `fk_5`
|
33
|
+
FOREIGN KEY (`common_db_id`)
|
34
|
+
REFERENCES `db` (`id`)
|
35
|
+
ON DELETE RESTRICT
|
36
|
+
ON UPDATE CASCADE,
|
37
|
+
ADD CONSTRAINT `fk_6`
|
38
|
+
FOREIGN KEY (`common_db_configuration_id`)
|
39
|
+
REFERENCES `db_configuration` (`id`)
|
40
|
+
ON DELETE RESTRICT
|
41
|
+
ON UPDATE CASCADE;
|
42
|
+
|
43
|
+
-- Add profile_cron FKs
|
44
|
+
ALTER TABLE `profile_cron`
|
45
|
+
ADD CONSTRAINT `fk_7`
|
46
|
+
FOREIGN KEY (`profile_id`)
|
47
|
+
REFERENCES `profile` (`id`)
|
48
|
+
ON DELETE RESTRICT
|
49
|
+
ON UPDATE CASCADE;
|
50
|
+
|
51
|
+
-- Add profile_worker FKs
|
52
|
+
ALTER TABLE `profile_worker`
|
53
|
+
ADD CONSTRAINT `fk_8`
|
54
|
+
FOREIGN KEY (`profile_id`)
|
55
|
+
REFERENCES `profile` (`id`)
|
56
|
+
ON DELETE RESTRICT
|
57
|
+
ON UPDATE CASCADE;
|
58
|
+
|
59
|
+
-- Add project FKs
|
60
|
+
ALTER TABLE `project`
|
61
|
+
ADD CONSTRAINT `fk_9`
|
62
|
+
FOREIGN KEY (`client_id`)
|
63
|
+
REFERENCES `client` (`id`)
|
64
|
+
ON DELETE RESTRICT
|
65
|
+
ON UPDATE CASCADE;
|
@@ -0,0 +1,97 @@
|
|
1
|
+
-- Create client table
|
2
|
+
CREATE TABLE `client` (
|
3
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
4
|
+
`client_name` VARCHAR(64) NOT NULL,
|
5
|
+
PRIMARY KEY (`id`),
|
6
|
+
UNIQUE INDEX `config_client_client_name_uniq_idx` (`client_name`)
|
7
|
+
) ENGINE = InnoDB;
|
8
|
+
|
9
|
+
-- Create db table
|
10
|
+
CREATE TABLE `db` (
|
11
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
12
|
+
`project_id` INT NULL,
|
13
|
+
`db_name` VARCHAR(32) NOT NULL COMMENT 'The name for the database as displayed by our internal systems.',
|
14
|
+
`host` VARCHAR(255) NOT NULL COMMENT 'The URL of the server (through SSH connection -- IE: username.abc123.eu-west-1.rds.amazonaws.com ).',
|
15
|
+
`user` TEXT NOT NULL COMMENT 'The username used to connect to the server.',
|
16
|
+
`password` TEXT NOT NULL COMMENT 'The password used to connect to the server.',
|
17
|
+
`environment` VARCHAR(11) NOT NULL COMMENT 'The environment for which this database will apply to.',
|
18
|
+
`schema_type` VARCHAR(6) NOT NULL COMMENT 'The schema type (IE: config, common or app).',
|
19
|
+
`jdbc_url` VARCHAR(255) NOT NULL COMMENT 'The URL of the server (through Java JDBC connection -- IE: jdbc:mysql://abc123.com:3306 ).',
|
20
|
+
PRIMARY KEY (`id`),
|
21
|
+
UNIQUE INDEX `config_db_db_name_uniq_idx` (`db_name`),
|
22
|
+
INDEX `config_db_environment_idx` (`environment`)
|
23
|
+
) ENGINE = InnoDB;
|
24
|
+
|
25
|
+
-- Create db_configuration table
|
26
|
+
CREATE TABLE `db_configuration` (
|
27
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
28
|
+
`db_configuration_name` VARCHAR(32) NOT NULL COMMENT 'The name for this configuration.',
|
29
|
+
`pool_max_size` INT NOT NULL COMMENT 'The maximum size of the connection pool.',
|
30
|
+
PRIMARY KEY (`id`),
|
31
|
+
UNIQUE INDEX `config_db_configuration_db_configuration_name_uniq_idx` (`db_configuration_name`)
|
32
|
+
) ENGINE = InnoDB;
|
33
|
+
|
34
|
+
-- Create db_configuration_property table
|
35
|
+
CREATE TABLE `db_configuration_property` (
|
36
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
37
|
+
`db_configuration_id` INT NOT NULL,
|
38
|
+
`key` VARCHAR(64) NOT NULL COMMENT 'Database property key (IE: charSet)',
|
39
|
+
`value` VARCHAR(128) NOT NULL COMMENT 'Database property value (IE: UTF-8)',
|
40
|
+
PRIMARY KEY (`id`)
|
41
|
+
) ENGINE = InnoDB;
|
42
|
+
|
43
|
+
-- Create profile table
|
44
|
+
CREATE TABLE `profile` (
|
45
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
46
|
+
`project_id` INT NOT NULL,
|
47
|
+
`profile_name` VARCHAR(32) NOT NULL COMMENT 'The name of the profile (IE: localhost, us-west-1, etc.)',
|
48
|
+
`environment` VARCHAR(11) NOT NULL COMMENT 'The environment in which the application will run under this profile.',
|
49
|
+
`timezone` VARCHAR(64) NOT NULL COMMENT 'The timezone in which associated application will run.',
|
50
|
+
`message_queue_host` VARCHAR(255) NOT NULL COMMENT 'The message queue URL.',
|
51
|
+
`slack_log_url` VARCHAR(255) NOT NULL COMMENT 'The Slack Log channel webhook URL.',
|
52
|
+
`slack_error_url` VARCHAR(255) NOT NULL COMMENT 'The Slack Error channel webhook URL.',
|
53
|
+
`authorization_header` TEXT NOT NULL COMMENT 'The Authorization Header used for internal API calls.',
|
54
|
+
PRIMARY KEY (`id`),
|
55
|
+
INDEX `config_profile_profile_name_idx` (`profile_name`),
|
56
|
+
INDEX `config_profile_environment_idx` (`environment`)
|
57
|
+
) ENGINE = InnoDB;
|
58
|
+
|
59
|
+
-- Create profile_api table
|
60
|
+
CREATE TABLE `profile_api` (
|
61
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
62
|
+
`profile_id` INT NOT NULL,
|
63
|
+
`common_db_id` INT NOT NULL,
|
64
|
+
`common_db_configuration_id` INT NOT NULL,
|
65
|
+
PRIMARY KEY (`id`)
|
66
|
+
) ENGINE = InnoDB;
|
67
|
+
|
68
|
+
-- Create profile_cron table
|
69
|
+
CREATE TABLE `profile_cron` (
|
70
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
71
|
+
`profile_id` INT NOT NULL,
|
72
|
+
PRIMARY KEY (`id`)
|
73
|
+
) ENGINE = InnoDB;
|
74
|
+
|
75
|
+
-- Create profile_worker table
|
76
|
+
CREATE TABLE `profile_worker` (
|
77
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
78
|
+
`profile_id` INT NOT NULL,
|
79
|
+
PRIMARY KEY (`id`)
|
80
|
+
) ENGINE = InnoDB;
|
81
|
+
|
82
|
+
-- Create project table
|
83
|
+
CREATE TABLE `project` (
|
84
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
85
|
+
`client_id` INT NOT NULL,
|
86
|
+
`project_name` VARCHAR(64) NOT NULL COMMENT 'Must be all lowercase & hyphen separated (IE: go-eat)',
|
87
|
+
`project_name_pascal_case` VARCHAR(64) NOT NULL COMMENT 'Must be camel-cased (IE: GoEat)',
|
88
|
+
`project_title` VARCHAR(128) NOT NULL COMMENT 'The way you want the project title/name to be displayed in UIs (IE: Go-EAT)',
|
89
|
+
`domain` VARCHAR(128) NOT NULL COMMENT 'The domain where the project will be hosted (IE: com, co.uk, app). This combined with the {project:project_name:Project name} should make up the public URL.',
|
90
|
+
`alias` VARCHAR(8) NOT NULL COMMENT 'A short alias for the project, mainly for use in CLI commands (IE: ge)',
|
91
|
+
`port_range` VARCHAR(12) NOT NULL COMMENT 'Ports reserved for this project, must be in sections of 20 (IE: 6000-6019)',
|
92
|
+
`encryption_key` VARCHAR(64) NOT NULL COMMENT 'Encryption Key for encrypting/decrypting sensitive data. This can never change!',
|
93
|
+
`encryption_iv` VARCHAR(64) NOT NULL COMMENT 'Encryption IV for encrypting/decrypting sensitive data. This can never change!',
|
94
|
+
PRIMARY KEY (`id`),
|
95
|
+
UNIQUE INDEX `config_project_project_name_uniq_idx` (`project_name`),
|
96
|
+
UNIQUE INDEX `config_project_alias_uniq_idx` (`alias`)
|
97
|
+
) ENGINE = InnoDB;
|
@@ -0,0 +1,38 @@
|
|
1
|
+
-- Add mock_nested_multiple FKs
|
2
|
+
ALTER TABLE `mock_nested_multiple`
|
3
|
+
ADD CONSTRAINT `fk_1`
|
4
|
+
FOREIGN KEY (`mock_id`)
|
5
|
+
REFERENCES `mock` (`id`)
|
6
|
+
ON DELETE RESTRICT
|
7
|
+
ON UPDATE CASCADE;
|
8
|
+
|
9
|
+
-- Add mock_nested_single FKs
|
10
|
+
ALTER TABLE `mock_nested_single`
|
11
|
+
ADD CONSTRAINT `fk_2`
|
12
|
+
FOREIGN KEY (`mock_id`)
|
13
|
+
REFERENCES `mock` (`id`)
|
14
|
+
ON DELETE RESTRICT
|
15
|
+
ON UPDATE CASCADE;
|
16
|
+
|
17
|
+
-- Add mock_nested_single_super_super_deep FKs
|
18
|
+
ALTER TABLE `mock_nested_single_super_super_deep`
|
19
|
+
ADD CONSTRAINT `fk_3`
|
20
|
+
FOREIGN KEY (`mock_nested_single_id`)
|
21
|
+
REFERENCES `mock_nested_single` (`id`)
|
22
|
+
ON DELETE RESTRICT
|
23
|
+
ON UPDATE CASCADE;
|
24
|
+
|
25
|
+
ALTER TABLE `mock_to_mock_nested_linked_link`
|
26
|
+
ADD INDEX `idx_1` (`mock_id` DESC),
|
27
|
+
ADD INDEX `idx_2` (`mock_nested_linked_id` DESC),
|
28
|
+
ADD UNIQUE INDEX `mock_to_mock_nested_linked_uniq_idx` (`mock_id` DESC, `mock_nested_linked_id` DESC),
|
29
|
+
ADD CONSTRAINT `fk_4`
|
30
|
+
FOREIGN KEY (`mock_id`)
|
31
|
+
REFERENCES `mock` (`id`)
|
32
|
+
ON DELETE RESTRICT
|
33
|
+
ON UPDATE RESTRICT,
|
34
|
+
ADD CONSTRAINT `fk_5`
|
35
|
+
FOREIGN KEY (`mock_nested_linked_id`)
|
36
|
+
REFERENCES `mock_nested_linked` (`id`)
|
37
|
+
ON DELETE RESTRICT
|
38
|
+
ON UPDATE RESTRICT;
|
@@ -0,0 +1,98 @@
|
|
1
|
+
-- Create mock table
|
2
|
+
CREATE TABLE `mock` (
|
3
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
4
|
+
`bool` TINYINT(1) NOT NULL DEFAULT '1',
|
5
|
+
`mock_date` DATE NOT NULL DEFAULT '0000-01-01',
|
6
|
+
`mock_datetime` DATETIME(3) NOT NULL DEFAULT '0000-01-01 00:00:00',
|
7
|
+
`decimal` DECIMAL(13,2) NOT NULL,
|
8
|
+
`enumeration` VARCHAR(9) NOT NULL COMMENT '[VALUE_ONE|VALUE_TWO]',
|
9
|
+
`integer` INT NOT NULL,
|
10
|
+
`integer_tiny` TINYINT NOT NULL,
|
11
|
+
`integer_small` SMALLINT NOT NULL,
|
12
|
+
`integer_big` BIGINT NOT NULL,
|
13
|
+
`text` TEXT NOT NULL COMMENT 'This is a text field.',
|
14
|
+
`text_long` LONGTEXT NOT NULL,
|
15
|
+
`text_encrypted` TEXT NOT NULL,
|
16
|
+
`varchar` VARCHAR(10) NULL,
|
17
|
+
PRIMARY KEY (`id`),
|
18
|
+
FULLTEXT `mock_mock_text_idx_fulltext` (`text`),
|
19
|
+
FULLTEXT `mock_mock_text_long_idx_fulltext` (`text_long`),
|
20
|
+
FULLTEXT `mock_mock_text_encrypted_idx_fulltext` (`text_encrypted`),
|
21
|
+
INDEX `mock_mock_enumeration_idx` (`enumeration`),
|
22
|
+
INDEX `mock_mock_integer_idx` (`integer`)
|
23
|
+
) ENGINE = InnoDB;
|
24
|
+
|
25
|
+
-- Create mock_nested_linked table
|
26
|
+
CREATE TABLE `mock_nested_linked` (
|
27
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
28
|
+
`bool` TINYINT(1) NOT NULL DEFAULT '1',
|
29
|
+
`mock_date` DATE NOT NULL DEFAULT '0000-01-01',
|
30
|
+
`mock_datetime` DATETIME(3) NOT NULL DEFAULT '0000-01-01 00:00:00',
|
31
|
+
`decimal` DECIMAL(13,2) NOT NULL,
|
32
|
+
`integer` INT NOT NULL,
|
33
|
+
`integer_tiny` TINYINT NOT NULL,
|
34
|
+
`integer_small` SMALLINT NOT NULL,
|
35
|
+
`integer_big` BIGINT NOT NULL,
|
36
|
+
`text` TEXT NOT NULL,
|
37
|
+
`text_long` LONGTEXT NOT NULL,
|
38
|
+
`varchar` VARCHAR(10) NOT NULL,
|
39
|
+
PRIMARY KEY (`id`),
|
40
|
+
FULLTEXT `mock_mock_nested_linked_text_idx_fulltext` (`text`),
|
41
|
+
FULLTEXT `mock_mock_nested_linked_text_long_idx_fulltext` (`text_long`)
|
42
|
+
) ENGINE = InnoDB;
|
43
|
+
|
44
|
+
-- Create mock_nested_multiple table
|
45
|
+
CREATE TABLE `mock_nested_multiple` (
|
46
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
47
|
+
`bool` TINYINT(1) NOT NULL DEFAULT '1',
|
48
|
+
`mock_id` INT NULL,
|
49
|
+
`mock_date` DATE NOT NULL DEFAULT '0000-01-01',
|
50
|
+
`mock_datetime` DATETIME(3) NOT NULL DEFAULT '0000-01-01 00:00:00',
|
51
|
+
`decimal` DECIMAL(13,2) NOT NULL,
|
52
|
+
`integer` INT NOT NULL,
|
53
|
+
`integer_tiny` TINYINT NOT NULL,
|
54
|
+
`integer_small` SMALLINT NOT NULL,
|
55
|
+
`integer_big` BIGINT NOT NULL,
|
56
|
+
`text` TEXT NOT NULL,
|
57
|
+
`text_long` LONGTEXT NOT NULL,
|
58
|
+
`varchar` VARCHAR(10) NOT NULL,
|
59
|
+
PRIMARY KEY (`id`),
|
60
|
+
FULLTEXT `mock_mock_nested_multiple_text_idx_fulltext` (`text`),
|
61
|
+
FULLTEXT `mock_mock_nested_multiple_text_long_idx_fulltext` (`text_long`)
|
62
|
+
) ENGINE = InnoDB;
|
63
|
+
|
64
|
+
-- Create mock_nested_single table
|
65
|
+
CREATE TABLE `mock_nested_single` (
|
66
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
67
|
+
`bool` TINYINT(1) NOT NULL DEFAULT '1',
|
68
|
+
`mock_id` INT NULL,
|
69
|
+
`mock_date` DATE NOT NULL DEFAULT '0000-01-01',
|
70
|
+
`mock_datetime` DATETIME(3) NOT NULL DEFAULT '0000-01-01 00:00:00',
|
71
|
+
`decimal` DECIMAL(13,2) NOT NULL,
|
72
|
+
`integer` INT NOT NULL,
|
73
|
+
`integer_tiny` TINYINT NOT NULL,
|
74
|
+
`integer_small` SMALLINT NOT NULL,
|
75
|
+
`integer_big` BIGINT NOT NULL,
|
76
|
+
`text` TEXT NOT NULL,
|
77
|
+
`text_long` LONGTEXT NOT NULL,
|
78
|
+
`text_encrypted` TEXT NOT NULL,
|
79
|
+
`varchar` VARCHAR(10) NOT NULL,
|
80
|
+
`unique_field` VARCHAR(64) NOT NULL,
|
81
|
+
PRIMARY KEY (`id`),
|
82
|
+
FULLTEXT `mock_mock_nested_single_text_idx_fulltext` (`text`),
|
83
|
+
FULLTEXT `mock_mock_nested_single_text_long_idx_fulltext` (`text_long`),
|
84
|
+
FULLTEXT `mock_mock_nested_single_text_encrypted_idx_fulltext` (`text_encrypted`)
|
85
|
+
) ENGINE = InnoDB;
|
86
|
+
|
87
|
+
-- Create mock_nested_single_super_super_deep table
|
88
|
+
CREATE TABLE `mock_nested_single_super_super_deep` (
|
89
|
+
`id` INT NOT NULL AUTO_INCREMENT,
|
90
|
+
`bool` TINYINT(1) NOT NULL DEFAULT '1',
|
91
|
+
`mock_nested_single_id` INT NULL,
|
92
|
+
PRIMARY KEY (`id`)
|
93
|
+
) ENGINE = InnoDB;
|
94
|
+
-- Add table to link 'mock' with 'mock_nested_linked'
|
95
|
+
CREATE TABLE `mock_to_mock_nested_linked_link` (
|
96
|
+
`mock_id` INT NOT NULL,
|
97
|
+
`mock_nested_linked_id` INT NOT NULL
|
98
|
+
) ENGINE = InnoDB;
|
@@ -0,0 +1,21 @@
|
|
1
|
+
INSERT IGNORE INTO `blufin-master`.db (
|
2
|
+
`id`,
|
3
|
+
`project_id`, -- FK: config.project.id
|
4
|
+
`db_name`,
|
5
|
+
`host`,
|
6
|
+
`user`,
|
7
|
+
`password`,
|
8
|
+
`environment`,
|
9
|
+
`schema_type`,
|
10
|
+
`jdbc_url`
|
11
|
+
) VALUES (
|
12
|
+
0,
|
13
|
+
0, -- FK: config.project.id
|
14
|
+
'DB_NAME',
|
15
|
+
'HOST',
|
16
|
+
'USER',
|
17
|
+
'PASSWORD',
|
18
|
+
'LOCAL|DEVELOPMENT|SANDBOX|STAGING|PRODUCTION',
|
19
|
+
'APP|CONFIG|COMMON',
|
20
|
+
'JDBC_URL'
|
21
|
+
);
|