db_meta 0.1.1 → 0.1.3

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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/CHANGELOG.md +16 -0
  4. data/Gemfile.lock +4 -4
  5. data/README.md +52 -2
  6. data/db_meta.gemspec +1 -1
  7. data/lib/db_meta/abstract.rb +13 -5
  8. data/lib/db_meta/constant.rb +45 -0
  9. data/lib/db_meta/logger.rb +15 -0
  10. data/lib/db_meta/oracle/base.rb +54 -0
  11. data/lib/db_meta/oracle/connection.rb +39 -0
  12. data/lib/db_meta/oracle/helper.rb +37 -0
  13. data/lib/db_meta/oracle/objects.rb +204 -0
  14. data/lib/db_meta/oracle/oracle.rb +172 -3
  15. data/lib/db_meta/oracle/types/column.rb +70 -0
  16. data/lib/db_meta/oracle/types/comment.rb +20 -0
  17. data/lib/db_meta/oracle/types/constraint.rb +91 -0
  18. data/lib/db_meta/oracle/types/constraint_collection.rb +46 -0
  19. data/lib/db_meta/oracle/types/database_link.rb +33 -0
  20. data/lib/db_meta/oracle/types/function.rb +30 -0
  21. data/lib/db_meta/oracle/types/grant.rb +46 -0
  22. data/lib/db_meta/oracle/types/grant_collection.rb +42 -0
  23. data/lib/db_meta/oracle/types/index.rb +43 -0
  24. data/lib/db_meta/oracle/types/lob.rb +13 -0
  25. data/lib/db_meta/oracle/types/materialized_view.rb +65 -0
  26. data/lib/db_meta/oracle/types/package.rb +42 -0
  27. data/lib/db_meta/oracle/types/package_body.rb +13 -0
  28. data/lib/db_meta/oracle/types/procedure.rb +30 -0
  29. data/lib/db_meta/oracle/types/sequence.rb +41 -0
  30. data/lib/db_meta/oracle/types/synonym.rb +42 -0
  31. data/lib/db_meta/oracle/types/synonym_collection.rb +42 -0
  32. data/lib/db_meta/oracle/types/table.rb +164 -0
  33. data/lib/db_meta/oracle/types/table_data_collection.rb +85 -0
  34. data/lib/db_meta/oracle/types/trigger.rb +64 -0
  35. data/lib/db_meta/oracle/types/type.rb +41 -0
  36. data/lib/db_meta/oracle/types/type_body.rb +13 -0
  37. data/lib/db_meta/oracle/types/view.rb +60 -0
  38. data/lib/db_meta/version.rb +1 -1
  39. data/lib/db_meta.rb +18 -6
  40. data/todo.txt +43 -0
  41. metadata +36 -5
data/todo.txt ADDED
@@ -0,0 +1,43 @@
1
+ -- -----------------------------------------------------------------------------
2
+ -- DB Meta - to do list
3
+ -- -----------------------------------------------------------------------------
4
+
5
+ - storage clauses
6
+ - materialized view
7
+
8
+ -- -------------------------------------
9
+ -- DONE
10
+ -- -------------------------------------
11
+ - trigger
12
+ - sequence
13
+ - function
14
+ - procedure
15
+ - package
16
+ - view
17
+ - synonym
18
+ - database link
19
+ - index
20
+ - lob (part of a table definition)
21
+ - iot
22
+ - constraints
23
+ - grants
24
+ - merge types (exp. table, index, constraints; synonyms)
25
+ - grants
26
+ - type
27
+
28
+
29
+ -- -------------------------------------
30
+ -- dbms_metadata
31
+ -- -------------------------------------
32
+ Basically ok to fetch ddl script but you can not disable certain features (organized as, logging, schema name)
33
+
34
+ # disable storage clause
35
+ connection.exec("begin dbms_metadata.set_transform_param(dbms_metadata.session_transform,'STORAGE', false); end;")
36
+ connection.exec("begin dbms_metadata.set_transform_param(dbms_metadata.session_transform,'TABLESPACE', false); end;")
37
+ connection.exec("begin dbms_metadata.set_transform_param(dbms_metadata.session_transform,'SEGMENT_ATTRIBUTES', false); end;")
38
+ connection.exec("begin dbms_metadata.set_transform_param(dbms_metadata.session_transform,'PRETTY', true); end;")
39
+
40
+ cursor = connection.exec("select dbms_metadata.get_ddl(object_type=>'MATERIALIZED_VIEW', name=>'#{@name}') from dual")
41
+ cursor.fetch do |item|
42
+ @output = item[0].read
43
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: db_meta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-10 00:00:00.000000000 Z
11
+ date: 2017-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '2.2'
61
+ version: 2.2.4.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '2.2'
68
+ version: 2.2.4.1
69
69
  description: Database meta and core data extraction.
70
70
  email:
71
71
  - thomas.steiner@ikey.ch
@@ -76,6 +76,7 @@ files:
76
76
  - ".gitignore"
77
77
  - ".rspec"
78
78
  - ".travis.yml"
79
+ - CHANGELOG.md
79
80
  - Gemfile
80
81
  - Gemfile.lock
81
82
  - LICENSE
@@ -87,8 +88,38 @@ files:
87
88
  - examples/simple.rb
88
89
  - lib/db_meta.rb
89
90
  - lib/db_meta/abstract.rb
91
+ - lib/db_meta/constant.rb
92
+ - lib/db_meta/logger.rb
93
+ - lib/db_meta/oracle/base.rb
94
+ - lib/db_meta/oracle/connection.rb
95
+ - lib/db_meta/oracle/helper.rb
96
+ - lib/db_meta/oracle/objects.rb
90
97
  - lib/db_meta/oracle/oracle.rb
98
+ - lib/db_meta/oracle/types/column.rb
99
+ - lib/db_meta/oracle/types/comment.rb
100
+ - lib/db_meta/oracle/types/constraint.rb
101
+ - lib/db_meta/oracle/types/constraint_collection.rb
102
+ - lib/db_meta/oracle/types/database_link.rb
103
+ - lib/db_meta/oracle/types/function.rb
104
+ - lib/db_meta/oracle/types/grant.rb
105
+ - lib/db_meta/oracle/types/grant_collection.rb
106
+ - lib/db_meta/oracle/types/index.rb
107
+ - lib/db_meta/oracle/types/lob.rb
108
+ - lib/db_meta/oracle/types/materialized_view.rb
109
+ - lib/db_meta/oracle/types/package.rb
110
+ - lib/db_meta/oracle/types/package_body.rb
111
+ - lib/db_meta/oracle/types/procedure.rb
112
+ - lib/db_meta/oracle/types/sequence.rb
113
+ - lib/db_meta/oracle/types/synonym.rb
114
+ - lib/db_meta/oracle/types/synonym_collection.rb
115
+ - lib/db_meta/oracle/types/table.rb
116
+ - lib/db_meta/oracle/types/table_data_collection.rb
117
+ - lib/db_meta/oracle/types/trigger.rb
118
+ - lib/db_meta/oracle/types/type.rb
119
+ - lib/db_meta/oracle/types/type_body.rb
120
+ - lib/db_meta/oracle/types/view.rb
91
121
  - lib/db_meta/version.rb
122
+ - todo.txt
92
123
  homepage: https://github.com/thomis/db_meta
93
124
  licenses: []
94
125
  metadata: {}
@@ -108,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
139
  version: '0'
109
140
  requirements: []
110
141
  rubyforge_project:
111
- rubygems_version: 2.2.2
142
+ rubygems_version: 2.6.12
112
143
  signing_key:
113
144
  specification_version: 4
114
145
  summary: Database meta and core data extraction