nando 1.0.6

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.
data/notes.txt ADDED
@@ -0,0 +1,128 @@
1
+ To run tests:
2
+
3
+ bundle exec rspec spec
4
+
5
+
6
+ To test in irb:
7
+
8
+ gem build nando.gemspec
9
+ gem install nando-0.1.0.gem
10
+ gem install --local nando-0.1.0.gem
11
+ irb
12
+
13
+
14
+ To create a migration:
15
+
16
+ ./bin/generate -n TestMigration
17
+
18
+
19
+ To migrate the database:
20
+ ./bin/migrate
21
+
22
+
23
+ To rollback the database:
24
+ ./bin/rollback
25
+
26
+
27
+ Might need to add:
28
+ - erb
29
+ - optparse
30
+ - dotenv
31
+
32
+
33
+ To fix CDB migration
34
+ ALTER TYPE casper.chore_template_id ADD VALUE IF NOT EXISTS 'ppc-irs-payment';
35
+
36
+
37
+ \c toc_recon
38
+ drop database new_tests_diss;
39
+ create database new_tests_diss;
40
+ \c new_tests_diss
41
+
42
+
43
+ \c toc_recon
44
+ drop database if exists test_nando_1;
45
+ create database test_nando_1;
46
+ \c test_nando_1
47
+
48
+ \c toc_recon
49
+ drop database if exists test_nando_cdb;
50
+ create database test_nando_cdb;
51
+ \c test_nando_cdb
52
+
53
+ \c toconline
54
+ drop database if exists test_nando_tables;
55
+ create database test_nando_tables;
56
+ \c test_nando_tables
57
+
58
+
59
+ # @db_connection.exec('BEGIN')
60
+ # @db_connection.exec('COMMIT')
61
+
62
+
63
+ pg_dump -t 'entity_1.customers' --schema-only test_nando_tables
64
+
65
+
66
+ # Calling logger methods
67
+
68
+ _warn 'TESTING'
69
+ _debug 'TESTING'
70
+ _error 'TESTING'
71
+ _success 'TESTING'
72
+ _info 'TESTING'
73
+
74
+
75
+ grep -i -e "execute <<-([.\n]*)CREATE OR REPLACE FUNCTION common.document_settings_for_print" ./db/migrate/*
76
+
77
+
78
+ r = ordinary table
79
+ i = index
80
+ v = view
81
+
82
+
83
+ S = sequence
84
+
85
+ m = materialized view
86
+ c = composite type
87
+ t = TOAST table
88
+ f = foreign table
89
+
90
+
91
+ Starting psql with "psql -E" let's you see the queries executed in \d for example
92
+
93
+
94
+ TEMPORARY NOTES
95
+
96
+
97
+ DBMATE
98
+
99
+ MIGRATE
100
+
101
+ findMigrationFiles => Encontra os ficheiro de migrações
102
+ iterar por todas as entries no diretório de migrações
103
+ se for um diretório, continue
104
+ se não der match com o regex "migrationFileRegexp", continue
105
+ sort do array de resultados (não sei se isto é mesmo preciso, mas eles fazem, prolly para garantir que corre tudo na ordem correta)
106
+
107
+ if there are no migration files => error
108
+
109
+ if db.WaitBefore (deve ser alguma variável interna para concorrência) => wait
110
+
111
+ openDatabaseForMigration => open DB for migration
112
+
113
+ SelectMigrations => obter migrations from schema_migrations
114
+
115
+ iterar pelos files |filename|
116
+ obter a version a partir do filename
117
+ verificar se já existe nas migrações já corridas
118
+ se sim, continue
119
+ print "applying"
120
+ obter o método up com "parseMigration"
121
+ se for para criar transaction
122
+ abrir transaction
123
+ correr migração
124
+ se não for
125
+ correr migração
126
+ correr migração consiste em
127
+ executar o código a migração
128
+ InsertMigration => record migration, assumo que deve ser adicionar ao schema_migrations
metadata ADDED
@@ -0,0 +1,200 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nando
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.6
5
+ platform: ruby
6
+ authors:
7
+ - Fernando Alves
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2021-05-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.17.3
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.17.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.2'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: byebug
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pg
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 1.2.3
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.2.3
83
+ - !ruby/object:Gem::Dependency
84
+ name: optparse
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.1.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.1.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: dotenv
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 2.7.6
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 2.7.6
111
+ - !ruby/object:Gem::Dependency
112
+ name: colorize
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.8.1
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.8.1
125
+ - !ruby/object:Gem::Dependency
126
+ name: awesome_print
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 1.8.0
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 1.8.0
139
+ description: NANDO - Nando AdmiNs Database Objects
140
+ email:
141
+ - fernando.alves@cldware.com
142
+ executables:
143
+ - nando
144
+ extensions: []
145
+ extra_rdoc_files: []
146
+ files:
147
+ - ".env"
148
+ - ".gitignore"
149
+ - ".rspec"
150
+ - ".travis.yml"
151
+ - Gemfile
152
+ - Gemfile.lock
153
+ - LICENSE
154
+ - README.md
155
+ - Rakefile
156
+ - bin/console
157
+ - bin/setup
158
+ - exe/nando
159
+ - lib/nando.rb
160
+ - lib/nando/baseline_templates/migration.rb
161
+ - lib/nando/errors.rb
162
+ - lib/nando/generator.rb
163
+ - lib/nando/interface.rb
164
+ - lib/nando/logger.rb
165
+ - lib/nando/migration.rb
166
+ - lib/nando/migrator.rb
167
+ - lib/nando/parser.rb
168
+ - lib/nando/parser_templates/migration.rb
169
+ - lib/nando/schema_diff.rb
170
+ - lib/nando/templates/migration.rb
171
+ - lib/nando/templates/migration_without_transaction.rb
172
+ - lib/nando/updater.rb
173
+ - lib/nando/utils.rb
174
+ - lib/nando/version.rb
175
+ - nando.gemspec
176
+ - notes.txt
177
+ homepage:
178
+ licenses: []
179
+ metadata:
180
+ allowed_push_host: https://rubygems.org
181
+ post_install_message:
182
+ rdoc_options: []
183
+ require_paths:
184
+ - lib
185
+ required_ruby_version: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - ">="
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ required_rubygems_version: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ requirements: []
196
+ rubygems_version: 3.0.9
197
+ signing_key:
198
+ specification_version: 4
199
+ summary: Nando AdmiNs Database Objects
200
+ test_files: []