legion-data 0.1.1 → 0.2.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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2 -0
  3. data/legion-data.gemspec +2 -2
  4. data/lib/legion/data.rb +55 -35
  5. data/lib/legion/data/connection.rb +52 -19
  6. data/lib/legion/data/connections/base.rb +19 -3
  7. data/lib/legion/data/connections/mysql2.rb +2 -17
  8. data/lib/legion/data/connections/mysql_base.rb +1 -1
  9. data/lib/legion/data/migration.rb +7 -20
  10. data/lib/legion/data/migrations/002_add_users.rb +17 -0
  11. data/lib/legion/data/migrations/003_add_groups.rb +16 -0
  12. data/lib/legion/data/migrations/004_add_chains.rb +25 -0
  13. data/lib/legion/data/migrations/005_add_envs.rb +24 -0
  14. data/lib/legion/data/migrations/006_add_dcs.rb +24 -0
  15. data/lib/legion/data/migrations/007_add_nodes.rb +26 -0
  16. data/lib/legion/data/migrations/008_add_settings.rb +18 -0
  17. data/lib/legion/data/migrations/009_add_extensions.rb +25 -0
  18. data/lib/legion/data/migrations/010_add_runners.rb +21 -0
  19. data/lib/legion/data/migrations/011_add_functions.rb +29 -0
  20. data/lib/legion/data/migrations/012_add_tasks.rb +25 -0
  21. data/lib/legion/data/migrations/013_add_task_logs.rb +17 -0
  22. data/lib/legion/data/migrations/014_add_relationships.rb +27 -0
  23. data/lib/legion/data/model.rb +24 -26
  24. data/lib/legion/data/models/chain.rb +2 -1
  25. data/lib/legion/data/models/datacenter.rb +2 -1
  26. data/lib/legion/data/models/environment.rb +2 -1
  27. data/lib/legion/data/models/extension.rb +13 -0
  28. data/lib/legion/data/models/function.rb +7 -4
  29. data/lib/legion/data/models/group.rb +10 -0
  30. data/lib/legion/data/models/namespace.rb +3 -1
  31. data/lib/legion/data/models/node.rb +1 -1
  32. data/lib/legion/data/models/relationship.rb +3 -1
  33. data/lib/legion/data/models/runner.rb +17 -0
  34. data/lib/legion/data/models/setting.rb +10 -0
  35. data/lib/legion/data/models/task.rb +2 -1
  36. data/lib/legion/data/models/task_log.rb +0 -1
  37. data/lib/legion/data/models/user.rb +10 -0
  38. data/lib/legion/data/settings.rb +62 -0
  39. data/lib/legion/data/version.rb +1 -1
  40. metadata +29 -26
  41. data/lib/legion/data/migrations/002_add_chains_table.rb +0 -21
  42. data/lib/legion/data/migrations/003_add_datacenters_table.rb +0 -21
  43. data/lib/legion/data/migrations/004_add_envs_table.rb +0 -21
  44. data/lib/legion/data/migrations/005_add_functions_table.rb +0 -25
  45. data/lib/legion/data/migrations/006_add_namespaces_table.rb +0 -24
  46. data/lib/legion/data/migrations/007_add_nodes_table.rb +0 -22
  47. data/lib/legion/data/migrations/008_add_relationships_table.rb +0 -28
  48. data/lib/legion/data/migrations/009_add_task_logs_table.rb +0 -17
  49. data/lib/legion/data/migrations/010_add_tasks_table.rb +0 -20
  50. data/lib/legion/data/migrations/011_add_users_and_groups.rb +0 -28
  51. data/lib/legion/data/migrations/012_foreign_keys_users_and_groups.rb +0 -42
  52. data/lib/legion/data/migrations/013_function_foreign_keys.rb +0 -10
  53. data/lib/legion/data/migrations/014_nodes_foreign_keys.rb +0 -12
  54. data/lib/legion/data/migrations/015_relationships_foreign_keys.rb +0 -14
  55. data/lib/legion/data/migrations/016_tasks_foreign_keys.rb +0 -22
  56. data/lib/legion/data/migrations/017_add_relationship_to_tasks.rb +0 -14
@@ -1,42 +0,0 @@
1
- Sequel.migration do
2
- transaction
3
- up do
4
- run 'ALTER TABLE `chains` ADD CONSTRAINT `chains_user_owner` FOREIGN KEY (`user_owner`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;'
5
- run 'ALTER TABLE `chains` ADD CONSTRAINT `chains_group_owner` FOREIGN KEY (`group_owner`) REFERENCES `groups` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;'
6
-
7
- run 'ALTER TABLE `datacenters` ADD CONSTRAINT `datacenters_user_owner` FOREIGN KEY (`user_owner`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;'
8
- run 'ALTER TABLE `datacenters` ADD CONSTRAINT `datacenters_group_owner` FOREIGN KEY (`group_owner`) REFERENCES `groups` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;'
9
-
10
- run 'ALTER TABLE `environments` ADD CONSTRAINT `environments_user_owner` FOREIGN KEY (`user_owner`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;'
11
- run 'ALTER TABLE `environments` ADD CONSTRAINT `environments_group_owner` FOREIGN KEY (`group_owner`) REFERENCES `groups` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;'
12
-
13
- run 'ALTER TABLE `functions` ADD CONSTRAINT `functions_user_owner` FOREIGN KEY (`user_owner`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;'
14
- run 'ALTER TABLE `functions` ADD CONSTRAINT `functions_group_owner` FOREIGN KEY (`group_owner`) REFERENCES `groups` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;'
15
-
16
- run 'ALTER TABLE `namespaces` ADD CONSTRAINT `namespaces_user_owner` FOREIGN KEY (`user_owner`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;'
17
- run 'ALTER TABLE `namespaces` ADD CONSTRAINT `namespaces_group_owner` FOREIGN KEY (`group_owner`) REFERENCES `groups` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;'
18
-
19
- run 'ALTER TABLE `relationships` ADD CONSTRAINT `relationships_user_owner` FOREIGN KEY (`user_owner`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;'
20
- run 'ALTER TABLE `relationships` ADD CONSTRAINT `relationships_group_owner` FOREIGN KEY (`group_owner`) REFERENCES `groups` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;'
21
- end
22
-
23
- down do
24
- run 'ALTER TABLE `relationships` DROP FOREIGN KEY `relationships_group_owner`;'
25
- run 'ALTER TABLE `relationships` DROP FOREIGN KEY `relationships_user_owner`;'
26
-
27
- run 'ALTER TABLE `namespaces` DROP FOREIGN KEY `namespaces_group_owner`;'
28
- run 'ALTER TABLE `namespaces` DROP FOREIGN KEY `namespaces_user_owner`;'
29
-
30
- run 'ALTER TABLE `functions` DROP FOREIGN KEY `functions_group_owner`;'
31
- run 'ALTER TABLE `functions` DROP FOREIGN KEY `functions_user_owner`;'
32
-
33
- run 'ALTER TABLE `environments` DROP FOREIGN KEY `environments_group_owner`;'
34
- run 'ALTER TABLE `environments` DROP FOREIGN KEY `environments_user_owner`;'
35
-
36
- run 'ALTER TABLE `datacenters` DROP FOREIGN KEY `datacenters_group_owner`;'
37
- run 'ALTER TABLE `datacenters` DROP FOREIGN KEY `datacenters_user_owner`;'
38
-
39
- run 'ALTER TABLE `chains` DROP FOREIGN KEY `chains_group_owner`;'
40
- run 'ALTER TABLE `chains` DROP FOREIGN KEY `chains_user_owner`;'
41
- end
42
- end
@@ -1,10 +0,0 @@
1
- Sequel.migration do
2
- transaction
3
- up do
4
- run 'ALTER TABLE `functions` ADD CONSTRAINT `function_namespace_id` FOREIGN KEY (`namespace_id`) REFERENCES `namespaces` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;'
5
- end
6
-
7
- down do
8
- run 'ALTER TABLE `functions` DROP FOREIGN KEY `function_namespace_id`;'
9
- end
10
- end
@@ -1,12 +0,0 @@
1
- Sequel.migration do
2
- transaction
3
- up do
4
- run 'ALTER TABLE `nodes` ADD CONSTRAINT `node_datacenter_id` FOREIGN KEY (`datacenter_id`) REFERENCES `datacenters` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;'
5
- run 'ALTER TABLE `nodes` ADD CONSTRAINT `node_environment_id` FOREIGN KEY (`environment_id`) REFERENCES `environments` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;'
6
- end
7
-
8
- down do
9
- run 'ALTER TABLE `nodes` DROP FOREIGN KEY `node_environment_id`;'
10
- run 'ALTER TABLE `nodes` DROP FOREIGN KEY `node_datacenter_id`;'
11
- end
12
- end
@@ -1,14 +0,0 @@
1
- Sequel.migration do
2
- transaction
3
- up do
4
- run 'ALTER TABLE `relationships` ADD CONSTRAINT `relationship_chain_id` FOREIGN KEY (`chain_id`) REFERENCES `chains` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;'
5
- run 'ALTER TABLE `relationships` ADD CONSTRAINT `relationship_trigger_id` FOREIGN KEY (`trigger_id`) REFERENCES `functions` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;'
6
- run 'ALTER TABLE `relationships` ADD CONSTRAINT `relationship_action_id` FOREIGN KEY (`action_id`) REFERENCES `functions` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;'
7
- end
8
-
9
- down do
10
- run 'ALTER TABLE `relationships` DROP FOREIGN KEY `relationship_action_id`;'
11
- run 'ALTER TABLE `relationships` DROP FOREIGN KEY `relationship_trigger_id`;'
12
- run 'ALTER TABLE `relationships` DROP FOREIGN KEY `relationship_chain_id`;'
13
- end
14
- end
@@ -1,22 +0,0 @@
1
- Sequel.migration do
2
- transaction
3
- up do
4
- run 'ALTER TABLE `tasks` ADD CONSTRAINT `task_master_id` FOREIGN KEY (`master_id`) REFERENCES `tasks` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;'
5
- run 'ALTER TABLE `tasks` ADD CONSTRAINT `task_parent_id` FOREIGN KEY (`parent_id`) REFERENCES `tasks` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;'
6
-
7
- run 'ALTER TABLE `task_logs` CHANGE `node_id` `node_id` INT(11) UNSIGNED NULL;'
8
-
9
- run 'ALTER TABLE `task_logs` ADD CONSTRAINT `task_logs_task_id` FOREIGN KEY (`task_id`) REFERENCES `tasks` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;'
10
- run 'ALTER TABLE `task_logs` ADD CONSTRAINT `task_logs_node_id` FOREIGN KEY (`node_id`) REFERENCES `nodes` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;'
11
- end
12
-
13
- down do
14
- run 'ALTER TABLE `task_logs` DROP FOREIGN KEY `task_logs_node_id`;'
15
- run 'ALTER TABLE `task_logs` DROP FOREIGN KEY `task_logs_task_id`;'
16
-
17
- run 'ALTER TABLE `task_logs` CHANGE `node_id` `node_id` INT(11) UNSIGNED NOT NULL;'
18
-
19
- run 'ALTER TABLE `tasks` DROP FOREIGN KEY `task_parent_id`;'
20
- run 'ALTER TABLE `tasks` DROP FOREIGN KEY `task_master_id`;'
21
- end
22
- end
@@ -1,14 +0,0 @@
1
- Sequel.migration do
2
- transaction
3
- up do
4
- run 'ALTER TABLE `tasks` ADD `relationship_id` INT(11) UNSIGNED NOT NULL AFTER `status`;'
5
- run 'ALTER TABLE `tasks` ADD CONSTRAINT `task_relationship_id` FOREIGN KEY (`relationship_id`) REFERENCES `relationships` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;'
6
- end
7
-
8
- down do
9
- run 'ALTER TABLE `task_relationship_id` DROP FOREIGN KEY `node_id`;'
10
- alter_table(:tasks) do
11
- drop_column :relationship_id
12
- end
13
- end
14
- end