zuora_connect 2.0.46a → 2.0.46
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/zuora_connect/app_instance_base.rb +36 -42
- data/lib/logging/connect_formatter.rb +1 -6
- data/lib/zuora_connect.rb +20 -0
- data/lib/zuora_connect/railtie.rb +1 -1
- data/lib/zuora_connect/version.rb +1 -1
- metadata +4 -5
- data/db/migrate/20190520232224_add_environment_fields.rb +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d335470621186c6b48bdd31e22827c74715f1a95f20f98bd1dff32500da61df6
|
4
|
+
data.tar.gz: 9861e3a42038aa63fa43068ef508863ff5a4ca786485a13161bf2a5f21736921
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 787b3c48a98332f504687623a0cba9aae789017edcbce071c33ef22f23bed87ada8a03b902b907f48227a2338206e5608e5c2cf2602590666cb96bcc888a2eaa
|
7
|
+
data.tar.gz: e2329782315fe2aad8cf032cff21b26e0282cc9ecd5ec98a9815af4b750f84efebca61eb4c423345cdc8d1287e85655648624ca09a14388f86e138c5a59f556e
|
@@ -56,13 +56,6 @@ module ZuoraConnect
|
|
56
56
|
raise "The instance refresh window cannot be greater than the instance cache period"
|
57
57
|
end
|
58
58
|
self.apartment_switch(nil, false)
|
59
|
-
|
60
|
-
if ZuoraConnect.logger.is_a?(Ougai::Logger)
|
61
|
-
ZuoraConnect.logger.with_fields.merge!(default_ougai_items)
|
62
|
-
end
|
63
|
-
if Rails.logger.is_a?(Ougai::Logger)
|
64
|
-
Rails.logger.with_fields.merge!(default_ougai_items)
|
65
|
-
end
|
66
59
|
end
|
67
60
|
|
68
61
|
def initialize_redis_placeholders
|
@@ -128,7 +121,7 @@ module ZuoraConnect
|
|
128
121
|
end
|
129
122
|
|
130
123
|
def default_ougai_items
|
131
|
-
return {app_instance_id: self.id
|
124
|
+
return {app_instance_id: self.id}
|
132
125
|
end
|
133
126
|
|
134
127
|
def new_session(session: self.data_lookup, username: self.access_token, password: self.refresh_token, holding_pattern: false, **args)
|
@@ -166,26 +159,26 @@ module ZuoraConnect
|
|
166
159
|
|
167
160
|
if session.empty?
|
168
161
|
self.new_session_message = "REFRESHING - Session Empty"
|
169
|
-
ZuoraConnect.logger.debug(self.new_session_message)
|
162
|
+
ZuoraConnect.logger.debug(self.new_session_message, self.default_ougai_items)
|
170
163
|
raise ZuoraConnect::Exceptions::HoldingPattern if holding_pattern && !self.mark_for_refresh
|
171
164
|
self.refresh(session: session)
|
172
165
|
|
173
166
|
elsif (self.id != session["appInstance"].to_i)
|
174
167
|
self.new_session_message = "REFRESHING - AppInstance ID(#{self.id}) does not match session id(#{session["appInstance"].to_i})"
|
175
|
-
ZuoraConnect.logger.debug(self.new_session_message)
|
168
|
+
ZuoraConnect.logger.debug(self.new_session_message, self.default_ougai_items)
|
176
169
|
raise ZuoraConnect::Exceptions::HoldingPattern if holding_pattern && !self.mark_for_refresh
|
177
170
|
self.refresh(session: session)
|
178
171
|
|
179
172
|
elsif session["#{self.id}::task_data"].blank?
|
180
173
|
self.new_session_message = "REFRESHING - Task Data Blank"
|
181
|
-
ZuoraConnect.logger.debug(self.new_session_message)
|
174
|
+
ZuoraConnect.logger.debug(self.new_session_message, self.default_ougai_items)
|
182
175
|
raise ZuoraConnect::Exceptions::HoldingPattern if holding_pattern && !self.mark_for_refresh
|
183
176
|
self.refresh(session: session)
|
184
177
|
|
185
178
|
elsif session["#{self.id}::last_refresh"].blank?
|
186
179
|
self.new_session_message = "REFRESHING - No Time on Cookie"
|
187
180
|
recoverable_session = true
|
188
|
-
ZuoraConnect.logger.debug(self.new_session_message)
|
181
|
+
ZuoraConnect.logger.debug(self.new_session_message, self.default_ougai_items)
|
189
182
|
raise ZuoraConnect::Exceptions::HoldingPattern if holding_pattern && !self.mark_for_refresh
|
190
183
|
self.refresh(session: session)
|
191
184
|
|
@@ -193,7 +186,7 @@ module ZuoraConnect
|
|
193
186
|
elsif (session["#{self.id}::last_refresh"].to_i < INSTANCE_REFRESH_WINDOW.ago.to_i) && self.mark_for_refresh
|
194
187
|
self.new_session_message = "REFRESHING - Session Old by #{time_expire.abs} second"
|
195
188
|
recoverable_session = true
|
196
|
-
ZuoraConnect.logger.debug(self.new_session_message)
|
189
|
+
ZuoraConnect.logger.debug(self.new_session_message, self.default_ougai_items)
|
197
190
|
self.refresh(session: session)
|
198
191
|
|
199
192
|
else
|
@@ -202,14 +195,14 @@ module ZuoraConnect
|
|
202
195
|
else
|
203
196
|
self.new_session_message = "REBUILDING - Expires in #{time_expire} seconds"
|
204
197
|
end
|
205
|
-
ZuoraConnect.logger.debug(self.new_session_message)
|
198
|
+
ZuoraConnect.logger.debug(self.new_session_message, self.default_ougai_items)
|
206
199
|
self.build_task(task_data: session["#{self.id}::task_data"], session: session)
|
207
200
|
end
|
208
201
|
end
|
209
202
|
return self
|
210
203
|
rescue ZuoraConnect::Exceptions::HoldingPattern => ex
|
211
204
|
while self.marked_for_refresh?
|
212
|
-
ZuoraConnect.logger.info("Holding - Expires in #{self.reset_mark_expires_at}. '#{self.new_session_message}'")
|
205
|
+
ZuoraConnect.logger.info("Holding - Expires in #{self.reset_mark_expires_at}. '#{self.new_session_message}'", self.default_ougai_items)
|
213
206
|
sleep(HOLDING_PATTERN_SLEEP)
|
214
207
|
end
|
215
208
|
self.reload_attributes([:refresh_token, :oauth_expires_at, :access_token])
|
@@ -218,17 +211,17 @@ module ZuoraConnect
|
|
218
211
|
rescue ZuoraConnect::Exceptions::MissMatch => ex
|
219
212
|
self.delete_app_instance
|
220
213
|
session = {}
|
221
|
-
ZuoraConnect.logger.error(ex, app_instance_id_new: self.task_data['id'])
|
214
|
+
ZuoraConnect.logger.error(ex, self.default_ougai_items.merge({app_instance_id_new: self.task_data['id']}))
|
222
215
|
retry
|
223
216
|
rescue ZuoraConnect::Exceptions::InvalidCredentialSet => ex
|
224
217
|
raise
|
225
218
|
rescue => ex
|
226
219
|
if recoverable_session
|
227
|
-
ZuoraConnect.logger.warn("REBUILDING - Using backup expired cache", ex)
|
220
|
+
ZuoraConnect.logger.warn("REBUILDING - Using backup expired cache", ex, self.default_ougai_items)
|
228
221
|
self.build_task(task_data: session["#{self.id}::task_data"], session: session)
|
229
222
|
return self
|
230
223
|
else
|
231
|
-
ZuoraConnect.logger.error("Failed new session", ex)
|
224
|
+
ZuoraConnect.logger.error("Failed new session", ex, self.default_ougai_items)
|
232
225
|
raise
|
233
226
|
end
|
234
227
|
ensure
|
@@ -250,18 +243,19 @@ module ZuoraConnect
|
|
250
243
|
ElasticAPM.set_label(:organization, organizations.first)
|
251
244
|
end
|
252
245
|
end
|
246
|
+
self.logitem(item: {tenant_ids: tenants, organization: organizations})
|
253
247
|
|
254
248
|
params = {
|
255
|
-
name
|
256
|
-
zuora_entity_ids
|
257
|
-
zuora_tenant_ids
|
258
|
-
organizations: organizations
|
249
|
+
:name => self.task_data.dig('name'),
|
250
|
+
:zuora_entity_ids => (self.task_data.dig(LOGIN_TENANT_DESTINATION,'entities') || []).map{|e| e['id']}.uniq,
|
251
|
+
:zuora_tenant_ids => tenants.map(&:to_s).uniq,
|
259
252
|
}
|
260
253
|
if self.methods.include?(LOGIN_TENANT_DESTINATION.to_sym)
|
261
254
|
client = self.send(LOGIN_TENANT_DESTINATION).client
|
262
255
|
if defined?(client.rest_domain)
|
263
|
-
|
264
|
-
|
256
|
+
zuora_domain = client.rest_domain
|
257
|
+
ZuoraConnect::RequestIdMiddleware.zuora_rest_domain = zuora_domain
|
258
|
+
params.merge!({:zuora_domain => zuora_domain })
|
265
259
|
end
|
266
260
|
end
|
267
261
|
params = params.reject{|k,v| !self.attributes.keys.member?(k.to_s) || self[k] == v}
|
@@ -280,7 +274,7 @@ module ZuoraConnect
|
|
280
274
|
response = HTTParty.get(ZuoraConnect.configuration.url + "/api/#{self.api_version}/tools/tasks/#{self.id}.json",:body => {:access_token => self.access_token})
|
281
275
|
response_time = Time.now - start
|
282
276
|
|
283
|
-
ZuoraConnect.logger.debug("REFRESH TASK - Connect Task Info Request Time #{response_time.round(2).to_s}")
|
277
|
+
ZuoraConnect.logger.debug("REFRESH TASK - Connect Task Info Request Time #{response_time.round(2).to_s}", self.default_ougai_items)
|
284
278
|
if response.code == 200
|
285
279
|
begin
|
286
280
|
parsed_json = JSON.parse(response.body)
|
@@ -312,26 +306,26 @@ module ZuoraConnect
|
|
312
306
|
refresh_count += 1
|
313
307
|
if refresh_count < 3
|
314
308
|
sleep(10)
|
315
|
-
ZuoraConnect.logger.debug("REFRESH TASK - Connection Failure Retrying(#{refresh_count})", ex)
|
309
|
+
ZuoraConnect.logger.debug("REFRESH TASK - Connection Failure Retrying(#{refresh_count})", ex, self.default_ougai_items)
|
316
310
|
retry
|
317
311
|
else
|
318
|
-
ZuoraConnect.logger.fatal("REFRESH TASK - Connection Failed", ex)
|
312
|
+
ZuoraConnect.logger.fatal("REFRESH TASK - Connection Failed", ex, self.default_ougai_items)
|
319
313
|
raise
|
320
314
|
end
|
321
315
|
rescue ZuoraConnect::Exceptions::ConnectCommunicationError => ex
|
322
316
|
refresh_count += 1
|
323
317
|
if refresh_count < 3
|
324
|
-
ZuoraConnect.logger.debug("REFRESH TASK - Communication Failure Retrying(#{refresh_count})", ex)
|
318
|
+
ZuoraConnect.logger.debug("REFRESH TASK - Communication Failure Retrying(#{refresh_count})", ex, self.default_ougai_items)
|
325
319
|
self.refresh_oauth if ex.code == 401
|
326
320
|
retry
|
327
321
|
else
|
328
|
-
ZuoraConnect.logger.fatal("REFRESH TASK - Communication Failed #{ex.code}", ex)
|
322
|
+
ZuoraConnect.logger.fatal("REFRESH TASK - Communication Failed #{ex.code}", ex, self.default_ougai_items)
|
329
323
|
raise
|
330
324
|
end
|
331
325
|
end
|
332
326
|
rescue => ex
|
333
327
|
if self['zuora_logins'].present?
|
334
|
-
ZuoraConnect.logger.warn("REFRESH TASK - Fallback to local encrypted store", ex)
|
328
|
+
ZuoraConnect.logger.warn("REFRESH TASK - Fallback to local encrypted store", ex, self.default_ougai_items)
|
335
329
|
skip_connect = true
|
336
330
|
retry
|
337
331
|
end
|
@@ -643,7 +637,7 @@ module ZuoraConnect
|
|
643
637
|
def check_oauth_state(method=nil)
|
644
638
|
#Refresh token if already expired
|
645
639
|
if self.oauth_expired?
|
646
|
-
ZuoraConnect.logger.debug("Before '#{method}' method, Oauth expired")
|
640
|
+
ZuoraConnect.logger.debug("Before '#{method}' method, Oauth expired", self.default_ougai_items)
|
647
641
|
self.refresh_oauth
|
648
642
|
end
|
649
643
|
end
|
@@ -662,7 +656,7 @@ module ZuoraConnect
|
|
662
656
|
}
|
663
657
|
response = HTTParty.post("#{ZuoraConnect.configuration.url}/oauth/token",:body => params)
|
664
658
|
response_time = Time.now - start
|
665
|
-
ZuoraConnect.logger.debug("REFRESH OAUTH - In #{response_time.round(2).to_s}")
|
659
|
+
ZuoraConnect.logger.debug("REFRESH OAUTH - In #{response_time.round(2).to_s}", self.default_ougai_items)
|
666
660
|
|
667
661
|
if response.code == 200
|
668
662
|
response_body = JSON.parse(response.body)
|
@@ -677,10 +671,10 @@ module ZuoraConnect
|
|
677
671
|
rescue *(ZuoraAPI::Login::CONNECTION_EXCEPTIONS + ZuoraAPI::Login::CONNECTION_READ_EXCEPTIONS) => ex
|
678
672
|
if (refresh_oauth_count += 1) < 3
|
679
673
|
sleep(5)
|
680
|
-
ZuoraConnect.logger.debug("REFRESH OAUTH - Connection Failure Retrying(#{refresh_oauth_count})", ex)
|
674
|
+
ZuoraConnect.logger.debug("REFRESH OAUTH - Connection Failure Retrying(#{refresh_oauth_count})", ex, self.default_ougai_items)
|
681
675
|
retry
|
682
676
|
else
|
683
|
-
ZuoraConnect.logger.fatal("REFRESH OAUTH - Connection Failed", ex)
|
677
|
+
ZuoraConnect.logger.fatal("REFRESH OAUTH - Connection Failed", ex, self.default_ougai_items)
|
684
678
|
raise
|
685
679
|
end
|
686
680
|
rescue ZuoraConnect::Exceptions::ConnectCommunicationError => ex
|
@@ -691,10 +685,10 @@ module ZuoraConnect
|
|
691
685
|
return if !self.oauth_expired?
|
692
686
|
|
693
687
|
if (refresh_oauth_count += 1) < 3
|
694
|
-
ZuoraConnect.logger.debug("REFRESH OAUTH - Communication Failure Retrying(#{refresh_oauth_count})", ex)
|
688
|
+
ZuoraConnect.logger.debug("REFRESH OAUTH - Communication Failure Retrying(#{refresh_oauth_count})", ex, self.default_ougai_items)
|
695
689
|
retry
|
696
690
|
else
|
697
|
-
ZuoraConnect.logger.fatal("REFRESH OAUTH - Communication Failed #{ex.code}", ex)
|
691
|
+
ZuoraConnect.logger.fatal("REFRESH OAUTH - Communication Failed #{ex.code}", ex, self.default_ougai_items)
|
698
692
|
raise
|
699
693
|
end
|
700
694
|
end
|
@@ -744,10 +738,10 @@ module ZuoraConnect
|
|
744
738
|
end
|
745
739
|
end
|
746
740
|
if cached_instance.blank?
|
747
|
-
ZuoraConnect.logger.debug("Cached AppInstance Missing")
|
741
|
+
ZuoraConnect.logger.debug("Cached AppInstance Missing", self.default_ougai_items)
|
748
742
|
return session
|
749
743
|
else
|
750
|
-
ZuoraConnect.logger.debug("Cached AppInstance Found")
|
744
|
+
ZuoraConnect.logger.debug("Cached AppInstance Found", self.default_ougai_items)
|
751
745
|
return decrypt_data(data: cached_instance, rescue_return: session).merge(session)
|
752
746
|
end
|
753
747
|
else
|
@@ -763,7 +757,7 @@ module ZuoraConnect
|
|
763
757
|
if defined?(Redis.current)
|
764
758
|
#Task data must be present and the last refresh cannot be old. We dont want to overwite new cache data with old
|
765
759
|
if self.task_data.present? && (self.last_refresh.to_i > INSTANCE_REFRESH_WINDOW.ago.to_i)
|
766
|
-
ZuoraConnect.logger.debug("Caching AppInstance")
|
760
|
+
ZuoraConnect.logger.debug("Caching AppInstance", self.default_ougai_items)
|
767
761
|
Redis.current.setex("AppInstance:#{self.id}", INSTANCE_REDIS_CACHE_PERIOD.to_i, self.encrypt_data(data: self.save_data))
|
768
762
|
end
|
769
763
|
end
|
@@ -827,10 +821,10 @@ module ZuoraConnect
|
|
827
821
|
begin
|
828
822
|
return JSON.parse(encryptor.decrypt_and_verify(CGI::unescape(data)))
|
829
823
|
rescue ActiveSupport::MessageVerifier::InvalidSignature => ex
|
830
|
-
ZuoraConnect.logger.error("Error Decrypting", ex) if log_fatal
|
824
|
+
ZuoraConnect.logger.error("Error Decrypting", ex, self.default_ougai_items) if log_fatal
|
831
825
|
return rescue_return
|
832
826
|
rescue JSON::ParserError => ex
|
833
|
-
ZuoraConnect.logger.error("JSON Parse Error", ex) if log_fatal
|
827
|
+
ZuoraConnect.logger.error("JSON Parse Error", ex, self.default_ougai_items) if log_fatal
|
834
828
|
return encryptor.decrypt_and_verify(CGI::unescape(data))
|
835
829
|
end
|
836
830
|
end
|
@@ -1191,7 +1185,7 @@ module ZuoraConnect
|
|
1191
1185
|
|
1192
1186
|
def method_missing(method_sym, *arguments, &block)
|
1193
1187
|
if method_sym.to_s.include?("login")
|
1194
|
-
ZuoraConnect.logger.fatal("Method Missing #{method_sym}. Instance Data: #{self.task_data} Instance Logins: #{self.logins}")
|
1188
|
+
ZuoraConnect.logger.fatal("Method Missing #{method_sym}. Instance Data: #{self.task_data} Instance Logins: #{self.logins}", self.default_ougai_items)
|
1195
1189
|
end
|
1196
1190
|
super
|
1197
1191
|
end
|
@@ -23,17 +23,12 @@ module Ougai
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def _call(severity, time, progname, data)
|
26
|
-
data.merge!({message: data.delete(:msg)})
|
27
|
-
if data[:timestamp].present?
|
28
|
-
time = data[:timestamp]
|
29
|
-
data.delete(:timestamp)
|
30
|
-
end
|
31
26
|
dump({
|
32
27
|
name: progname || @app_name,
|
33
28
|
pid: $$,
|
34
29
|
level: severity,
|
35
30
|
timestamp: time.utc.strftime('%FT%T.%6NZ'),
|
36
|
-
}.merge(data))
|
31
|
+
}.merge(data.merge({message: data.delete(:msg)})))
|
37
32
|
end
|
38
33
|
|
39
34
|
def convert_time(data)
|
data/lib/zuora_connect.rb
CHANGED
@@ -41,6 +41,16 @@ module ZuoraConnect
|
|
41
41
|
data[:trace_id] = ZuoraConnect::RequestIdMiddleware.request_id if ZuoraConnect::RequestIdMiddleware.request_id.present?
|
42
42
|
data[:zuora_trace_id] = ZuoraConnect::RequestIdMiddleware.zuora_request_id if ZuoraConnect::RequestIdMiddleware.zuora_request_id.present?
|
43
43
|
#data[:traces] = {amazon_id: data[:trace_id], zuora_id: data[:zuora_trace_id]}
|
44
|
+
if !['ElasticAPM', 'ResqueScheduler', 'ResquePool', 'Resque', 'Makara'].include?(name)
|
45
|
+
if Thread.current[:appinstance].present? && Thread.current[:appinstance].id.present?
|
46
|
+
data[:app_instance_id] = Thread.current[:appinstance].id
|
47
|
+
logitems = Thread.current[:appinstance].logitems
|
48
|
+
if logitems.present? && logitems.class == Hash
|
49
|
+
data[:tenant_ids] = logitems[:tenant_ids] if logitems[:tenant_ids].present?
|
50
|
+
data[:organization] = logitems[:organization] if logitems[:organization].present?
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
44
54
|
end
|
45
55
|
else
|
46
56
|
logger.formatter = Ougai::Formatters::Customizable.new(
|
@@ -76,6 +86,16 @@ module ZuoraConnect
|
|
76
86
|
pid: Process.pid,
|
77
87
|
message: name == "ActionMailer" ? msg.strip : msg
|
78
88
|
}
|
89
|
+
if !['ElasticAPM', 'ResqueScheduler', 'ResquePool','Resque', 'Makara'].include?(name)
|
90
|
+
if Thread.current[:appinstance].present? && Thread.current[:appinstance].id.present?
|
91
|
+
store[:app_instance_id] = Thread.current[:appinstance].id
|
92
|
+
logitems = Thread.current[:appinstance].logitems
|
93
|
+
if logitems.present? && logitems.class == Hash
|
94
|
+
store[:tenant_ids] = logitems[:tenant_ids] if logitems[:tenant_ids].present?
|
95
|
+
store[:organization] = logitems[:organization] if logitems[:organization].present?
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
79
99
|
JSON.dump(store) + "\n"
|
80
100
|
else
|
81
101
|
format('%s %s: %s', serverity.ljust(6), datetime, msg) + "\n"
|
@@ -62,7 +62,7 @@ module ZuoraConnect
|
|
62
62
|
items.merge!({exception: event.payload[:exception]}) if event.payload[:exception].present?
|
63
63
|
|
64
64
|
if Thread.current[:appinstance].present?
|
65
|
-
items.merge!({connect_user: Thread.current[:appinstance].connect_user, new_session: Thread.current[:appinstance].new_session_message})
|
65
|
+
items.merge!({appinstance_id: Thread.current[:appinstance].id, connect_user: Thread.current[:appinstance].connect_user, new_session: Thread.current[:appinstance].new_session_message})
|
66
66
|
if Thread.current[:appinstance].logitems.present? && Thread.current[:appinstance].logitems.class == Hash
|
67
67
|
items.merge!(Thread.current[:appinstance].logitems)
|
68
68
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zuora_connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.46
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Connect Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: apartment
|
@@ -338,7 +338,6 @@ files:
|
|
338
338
|
- db/migrate/20190520232221_add_zuora_user_table_and_alter_app_instance_id_table.rb
|
339
339
|
- db/migrate/20190520232222_add_unique_index.rb
|
340
340
|
- db/migrate/20190520232223_add_provisioning_fields.rb
|
341
|
-
- db/migrate/20190520232224_add_environment_fields.rb
|
342
341
|
- lib/logging/connect_formatter.rb
|
343
342
|
- lib/metrics/influx/point_value.rb
|
344
343
|
- lib/metrics/net.rb
|
@@ -414,9 +413,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
414
413
|
version: '0'
|
415
414
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
416
415
|
requirements:
|
417
|
-
- - "
|
416
|
+
- - ">="
|
418
417
|
- !ruby/object:Gem::Version
|
419
|
-
version:
|
418
|
+
version: '0'
|
420
419
|
requirements: []
|
421
420
|
rubygems_version: 3.0.3
|
422
421
|
signing_key:
|
@@ -1,13 +0,0 @@
|
|
1
|
-
class AddEnvironmentFields < ActiveRecord::Migration[5.0]
|
2
|
-
def change
|
3
|
-
unless column_exists? :zuora_connect_app_instances, :environment
|
4
|
-
add_column :zuora_connect_app_instances, :environment, :text, default: ""
|
5
|
-
end
|
6
|
-
unless column_exists? :zuora_connect_app_instances, :organizations
|
7
|
-
add_column :zuora_connect_app_instances, :organizations, :jsonb, default: []
|
8
|
-
end
|
9
|
-
if column_exists? :zuora_connect_app_instances, :organizations
|
10
|
-
change_column :zuora_connect_app_instances, :organizations, :jsonb, default: []
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|