erp_products 3.0.5 → 3.1.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 (66) hide show
  1. data/app/models/prod_availability_status_type.rb +2 -0
  2. data/app/models/prod_instance_reln.rb +1 -0
  3. data/app/models/prod_instance_reln_type.rb +2 -0
  4. data/app/models/prod_instance_role_type.rb +2 -0
  5. data/app/models/prod_type_reln.rb +1 -0
  6. data/app/models/prod_type_reln_type.rb +2 -0
  7. data/app/models/prod_type_role_type.rb +2 -0
  8. data/app/models/product_instance.rb +2 -0
  9. data/app/models/product_offer.rb +1 -0
  10. data/app/models/product_type.rb +2 -0
  11. data/app/models/simple_product_offer.rb +2 -0
  12. data/db/migrate/20080805000040_base_products.rb +1 -0
  13. data/lib/erp_products.rb +2 -0
  14. data/lib/erp_products/version.rb +2 -2
  15. data/spec/dummy/config/application.rb +6 -0
  16. data/spec/dummy/config/environments/spec.rb +3 -0
  17. data/spec/dummy/db/data_migrations/20101011152441_payment_gateway_actions.erp_commerce.rb +28 -0
  18. data/spec/dummy/db/data_migrations/20101014142230_financial_txn_types.erp_txns_and_accts.rb +16 -0
  19. data/spec/dummy/db/data_migrations/20110109173616_create_capability_scope_types.erp_tech_svcs.rb +15 -0
  20. data/spec/dummy/db/data_migrations/20110324010232_product_role_types.erp_products.rb +24 -0
  21. data/spec/dummy/db/data_migrations/20110525001935_add_usd_currency.erp_base_erp_svcs.rb +12 -0
  22. data/spec/dummy/db/data_migrations/20110527160807_add_default_prod_avail_types.erp_products.rb +27 -0
  23. data/spec/dummy/db/data_migrations/20110605231556_create_order_party_roles.erp_orders.rb +24 -0
  24. data/spec/dummy/db/data_migrations/20110609150135_add_iso_codes.erp_base_erp_svcs.rb +19 -0
  25. data/spec/dummy/db/data_migrations/20110728201729_erp_app_setup.erp_app.rb +252 -0
  26. data/spec/dummy/db/data_migrations/20110728201730_create_desktop_app_product_manager.erp_products.rb +26 -0
  27. data/spec/dummy/db/data_migrations/20110728201731_create_desktop_app_order_manager.erp_orders.rb +26 -0
  28. data/spec/dummy/db/data_migrations/20110728201732_create_organizer_app_order_management.erp_orders.rb +15 -0
  29. data/spec/dummy/db/data_migrations/20110728201733_update_preferences.erp_app.rb +53 -0
  30. data/spec/dummy/db/data_migrations/20110802200222_schedule_delete_expired_sessions_job.erp_tech_svcs.rb +16 -0
  31. data/spec/dummy/db/data_migrations/20110816161238_create_desktop_app_audit_log_viewer.erp_app.rb +21 -0
  32. data/spec/dummy/db/data_migrations/20110817160743_add_file_manager_application.erp_app.rb +32 -0
  33. data/spec/dummy/db/data_migrations/20110913145838_setup_compass_ae_instance.erp_base_erp_svcs.rb +12 -0
  34. data/spec/dummy/db/data_migrations/20111108183739_add_default_capabilities.erp_app.rb +23 -0
  35. data/spec/dummy/db/data_migrations/20111108183740_add_new_contact_widgets.erp_app.rb +42 -0
  36. data/spec/dummy/db/data_migrations/20111111144706_setup_audit_log_types.erp_tech_svcs.rb +22 -0
  37. data/spec/dummy/db/data_migrations/20120109173616_create_download_capability_type.erp_tech_svcs.rb +14 -0
  38. data/spec/dummy/db/data_migrations/20120229160222_add_userinfo_widget.erp_app.rb +29 -0
  39. data/spec/dummy/db/data_migrations/20120229174343_add_orders_widget.erp_orders.rb +29 -0
  40. data/spec/dummy/db/data_migrations/20120405193721_create_party_and_role_type_for_communication_events.erp_app.rb +11 -0
  41. data/spec/dummy/db/data_migrations/20120411180756_create_user_management_mobile_application.erp_app.rb +19 -0
  42. data/spec/dummy/db/data_migrations/20120418164215_create_configuration_management_desktop_application.erp_app.rb +23 -0
  43. data/spec/dummy/db/data_migrations/20121116155018_create_group_relationship_and_role_types.erp_tech_svcs.rb +20 -0
  44. data/spec/dummy/db/data_migrations/20121130201859_upgrade_remove_system_mgmt_app.erp_app.rb +16 -0
  45. data/spec/dummy/db/data_migrations/20121130212146_note_capabilities.erp_tech_svcs.rb +24 -0
  46. data/spec/dummy/db/data_migrations/20121218175028_create_security_management_desktop_application.erp_app.rb +23 -0
  47. data/spec/dummy/db/migrate/20130107214711_base_erp_services.erp_base_erp_svcs.rb +461 -0
  48. data/spec/dummy/db/migrate/20130107214712_base_products.erp_products.rb +234 -0
  49. data/spec/dummy/db/migrate/20130107214713_base_products_indexes.erp_products.rb +59 -0
  50. data/spec/dummy/db/migrate/20130107214714_base_tech_services.erp_tech_svcs.rb +271 -0
  51. data/spec/dummy/db/migrate/20130107214715_create_has_attribute_tables.erp_tech_svcs.rb +39 -0
  52. data/spec/dummy/db/migrate/20130107214716_create_groups.erp_tech_svcs.rb +19 -0
  53. data/spec/dummy/db/migrate/20130107214717_upgrade_security.erp_tech_svcs.rb +54 -0
  54. data/spec/dummy/db/migrate/20130107214718_upgrade_security2.erp_tech_svcs.rb +270 -0
  55. data/spec/dummy/db/migrate/20130107214719_base_orders.erp_orders.rb +178 -0
  56. data/spec/dummy/db/migrate/20130107214720_base_txns_and_accts.erp_txns_and_accts.rb +364 -0
  57. data/spec/dummy/db/migrate/20130107214721_agreements_services.erp_agreements.rb +160 -0
  58. data/spec/dummy/db/migrate/20130107214722_agreements_services_indexes.erp_agreements.rb +52 -0
  59. data/spec/dummy/db/migrate/20130107214723_base_app_framework.erp_app.rb +276 -0
  60. data/spec/dummy/db/migrate/20130107214724_erp_commerce_base.erp_commerce.rb +442 -0
  61. data/spec/dummy/db/schema.rb +1821 -0
  62. data/spec/dummy/db/spec.sqlite3 +0 -0
  63. data/spec/dummy/log/spec.log +12388 -0
  64. data/spec/spec_helper.rb +11 -3
  65. metadata +119 -10
  66. data/db/migrate/20120612195842_add_internal_identifier_to_product_type.rb +0 -9
@@ -0,0 +1,364 @@
1
+ # This migration comes from erp_txns_and_accts (originally 20080805000030)
2
+ class BaseTxnsAndAccts < ActiveRecord::Migration
3
+ def self.up
4
+
5
+ unless table_exists?(:biz_txn_events)
6
+ create_table :biz_txn_events do |t|
7
+ t.column :description, :string
8
+ t.column :biz_txn_acct_root_id, :integer
9
+ t.column :biz_txn_type_id, :integer
10
+ t.column :entered_date, :datetime
11
+ t.column :post_date, :datetime
12
+ t.column :biz_txn_record_id, :integer
13
+ t.column :biz_txn_record_type, :string
14
+ t.column :external_identifier, :string
15
+ t.column :external_id_source, :string
16
+ t.timestamps
17
+ end
18
+
19
+ add_index :biz_txn_events, :biz_txn_acct_root_id
20
+ add_index :biz_txn_events, :biz_txn_type_id
21
+ add_index :biz_txn_events, [:biz_txn_record_id, :biz_txn_record_type], :name => "btai_1"
22
+ end
23
+
24
+ unless table_exists?(:biz_txn_event_descs)
25
+ create_table :biz_txn_event_descs do |t|
26
+ t.column :biz_txn_event_id, :integer
27
+ t.column :language_id, :integer
28
+ t.column :locale_id, :integer
29
+ t.column :priority, :integer
30
+ t.column :sequence, :integer
31
+ t.column :short_description, :string
32
+ t.column :long_description, :string
33
+ t.timestamps
34
+ end
35
+
36
+ add_index :biz_txn_event_descs, :biz_txn_event_id
37
+ add_index :biz_txn_event_descs, :language_id
38
+ add_index :biz_txn_event_descs, :locale_id
39
+ end
40
+
41
+ unless table_exists?(:biz_txn_types)
42
+ create_table :biz_txn_types do |t|
43
+ t.column :parent_id, :integer
44
+ t.column :lft, :integer
45
+ t.column :rgt, :integer
46
+
47
+ #custom columns go here
48
+ t.column :description, :string
49
+ t.column :comments, :string
50
+ t.column :internal_identifier, :string
51
+ t.column :external_identifier, :string
52
+ t.column :external_id_source, :string
53
+ t.timestamps
54
+ end
55
+
56
+ add_index :biz_txn_types, [:parent_id,:lft,:rgt], :name => 'biz_txn_type_nested_set_idx'
57
+ end
58
+
59
+ unless table_exists?(:biz_txn_relationships)
60
+ create_table :biz_txn_relationships do |t|
61
+ t.column :biz_txn_rel_type_id, :integer
62
+ t.column :description, :string
63
+ t.column :txn_event_id_from, :integer
64
+ t.column :txn_event_id_to, :integer
65
+ t.column :status_type_id, :integer
66
+ t.column :from_date, :date
67
+ t.column :thru_date, :date
68
+ t.timestamps
69
+ end
70
+
71
+ add_index :biz_txn_relationships, :biz_txn_rel_type_id
72
+ add_index :biz_txn_relationships, :status_type_id
73
+ end
74
+
75
+ unless table_exists?(:biz_txn_rel_types)
76
+ create_table :biz_txn_rel_types do |t|
77
+ t.column :parent_id, :integer
78
+ t.column :lft, :integer
79
+ t.column :rgt, :integer
80
+ #custom columns go here
81
+ t.column :description, :string
82
+ t.column :comments, :string
83
+ t.column :internal_identifier, :string
84
+ t.column :external_identifier, :string
85
+ t.column :external_id_source, :string
86
+ t.timestamps
87
+ end
88
+
89
+ add_index :biz_txn_rel_types, :parent_id
90
+ end
91
+
92
+ unless table_exists?(:biz_txn_statuses)
93
+ create_table :biz_txn_statuses do |t|
94
+ t.column :description, :string
95
+ t.column :comments, :string
96
+ t.timestamps
97
+ end
98
+ end
99
+
100
+ unless table_exists?(:biz_txn_tasks)
101
+ create_table :biz_txn_tasks do |t|
102
+ t.column :description, :string
103
+ t.timestamps
104
+ end
105
+ end
106
+
107
+ unless table_exists?(:biz_txn_task_types)
108
+ create_table :biz_txn_task_types do |t|
109
+ t.column :parent_id, :integer
110
+ t.column :lft, :integer
111
+ t.column :rgt, :integer
112
+ #custom columns go here
113
+ t.column :description, :string
114
+ t.column :comments, :string
115
+ t.timestamps
116
+ end
117
+
118
+ add_index :biz_txn_task_types, :parent_id
119
+ end
120
+
121
+ unless table_exists?(:biz_txn_party_roles)
122
+ create_table :biz_txn_party_roles do |t|
123
+ t.column :biz_txn_event_id, :integer
124
+ t.column :party_id, :integer
125
+ t.column :biz_txn_party_role_type_id, :integer
126
+ t.timestamps
127
+ end
128
+
129
+ add_index :biz_txn_party_roles, :biz_txn_event_id
130
+ add_index :biz_txn_party_roles, :party_id
131
+ add_index :biz_txn_party_roles, :biz_txn_party_role_type_id
132
+ end
133
+
134
+ unless table_exists?(:biz_txn_party_role_types)
135
+ create_table :biz_txn_party_role_types do |t|
136
+ t.column :parent_id, :integer
137
+ t.column :lft, :integer
138
+ t.column :rgt, :integer
139
+ #custom columns go here
140
+ t.column :description, :string
141
+ t.column :comments, :string
142
+ t.column :internal_identifier, :string
143
+ t.timestamps
144
+ end
145
+
146
+ add_index :biz_txn_party_role_types, :parent_id
147
+ end
148
+
149
+ unless table_exists?(:biz_txn_acct_roots)
150
+ create_table :biz_txn_acct_roots do |t|
151
+ t.column :description, :string
152
+ t.column :status, :integer
153
+ t.column :biz_txn_acct_id, :integer
154
+ t.column :biz_txn_acct_type, :string
155
+ t.column :external_identifier, :string
156
+ t.column :external_id_source, :string
157
+ t.column :type, :string
158
+ t.timestamps
159
+ end
160
+
161
+ add_index :biz_txn_acct_roots, [:biz_txn_acct_id, :biz_txn_acct_type], :name => "btai_2"
162
+ end
163
+
164
+ unless table_exists?(:biz_txn_acct_status_types)
165
+ create_table :biz_txn_acct_status_types do |t|
166
+ t.timestamps
167
+ end
168
+ end
169
+
170
+ unless table_exists?(:biz_txn_acct_types)
171
+ create_table :biz_txn_acct_types do |t|
172
+ t.column :parent_id, :integer
173
+ t.column :lft, :integer
174
+ t.column :rgt, :integer
175
+ #custom columns go here
176
+ t.column :description, :string
177
+ t.column :comments, :string
178
+ t.column :internal_identifier, :string
179
+ t.column :external_identifier, :string
180
+ t.column :external_id_source, :string
181
+ t.timestamps
182
+ end
183
+
184
+ add_index :biz_txn_acct_types, :parent_id
185
+ end
186
+
187
+ unless table_exists?(:biz_txn_acct_statuses)
188
+ create_table :biz_txn_acct_statuses do |t|
189
+ t.timestamps
190
+ end
191
+ end
192
+
193
+ unless table_exists?(:biz_txn_acct_rel_types)
194
+ create_table :biz_txn_acct_rel_types do |t|
195
+ t.column :parent_id, :integer
196
+ t.column :lft, :integer
197
+ t.column :rgt, :integer
198
+ #custom columns go here
199
+ t.column :description, :string
200
+ t.column :comments, :string
201
+ t.column :internal_identifier, :string
202
+ t.column :external_identifier, :string
203
+ t.column :external_id_source, :string
204
+ t.timestamps
205
+ end
206
+
207
+ add_index :biz_txn_acct_rel_types, :parent_id
208
+ end
209
+
210
+ unless table_exists?(:biz_txn_acct_relationships)
211
+ create_table :biz_txn_acct_relationships do |t|
212
+ t.column :biz_txn_acct_rel_type_id, :integer
213
+ t.column :description, :string
214
+ t.column :biz_txn_acct_root_id_from, :integer
215
+ t.column :biz_txn_acct_root_id_to, :integer
216
+ t.column :status_type_id, :integer
217
+ t.column :from_date, :date
218
+ t.column :thru_date, :date
219
+ t.timestamps
220
+ end
221
+
222
+ add_index :biz_txn_acct_relationships, :biz_txn_acct_rel_type_id
223
+ add_index :biz_txn_acct_relationships, :status_type_id
224
+
225
+ end
226
+
227
+ unless table_exists?(:biz_txn_acct_party_roles)
228
+ create_table :biz_txn_acct_party_roles do |t|
229
+ t.column :description, :string
230
+ t.column :biz_txn_acct_root_id, :integer
231
+ t.column :party_id, :integer
232
+ t.column :biz_txn_acct_pty_rtype_id, :integer
233
+ t.column :is_default_billing_acct_flag, :integer
234
+ t.timestamps
235
+ end
236
+
237
+ add_index :biz_txn_acct_party_roles, :biz_txn_acct_root_id
238
+ add_index :biz_txn_acct_party_roles, :party_id
239
+ add_index :biz_txn_acct_party_roles, :biz_txn_acct_pty_rtype_id
240
+ end
241
+
242
+ unless table_exists?(:biz_txn_acct_pty_rtypes)
243
+ create_table :biz_txn_acct_pty_rtypes do |t|
244
+ t.column :parent_id, :integer
245
+ t.column :lft, :integer
246
+ t.column :rgt, :integer
247
+ #custom columns go here
248
+ t.column :description, :string
249
+ t.column :comments, :string
250
+ t.column :internal_identifier, :string
251
+ t.column :external_identifier, :string
252
+ t.column :external_id_source, :string
253
+ t.timestamps
254
+ end
255
+
256
+ add_index :biz_txn_acct_pty_rtypes, :parent_id
257
+ end
258
+
259
+ unless table_exists?(:biz_acct_txn_tasks)
260
+ create_table :biz_acct_txn_tasks do |t|
261
+ t.column :biz_txn_task_id, :integer
262
+ t.column :biz_txn_account_id, :integer
263
+ t.column :description, :string
264
+ t.column :comments, :string
265
+ t.column :entered_date, :datetime
266
+ t.column :requested_date, :datetime
267
+ t.timestamps
268
+ end
269
+
270
+ add_index :biz_acct_txn_tasks, :biz_txn_task_id
271
+ add_index :biz_acct_txn_tasks, :biz_txn_account_id
272
+ end
273
+
274
+ unless table_exists?(:biz_txn_agreement_role_types)
275
+ create_table :biz_txn_agreement_role_types do |t|
276
+ t.column :parent_id, :integer
277
+ t.column :lft, :integer
278
+ t.column :rgt, :integer
279
+ #custom columns go here
280
+ t.column :description, :string
281
+ t.column :comments, :string
282
+ t.column :internal_identifier, :string
283
+ t.timestamps
284
+ end
285
+
286
+ add_index :biz_txn_agreement_role_types, :parent_id
287
+ end
288
+
289
+ unless table_exists?(:biz_txn_agreement_roles)
290
+ create_table :biz_txn_agreement_roles do |t|
291
+ t.references :biz_txn_event, :polymorphic => true
292
+ t.column :agreement_id, :integer
293
+ t.column :biz_txn_agreement_role_type_id, :integer
294
+ t.timestamps
295
+ end
296
+
297
+ add_index :biz_txn_agreement_roles, :agreement_id
298
+ add_index :biz_txn_agreement_roles, :biz_txn_agreement_role_type_id
299
+ end
300
+
301
+ unless table_exists?(:financial_txns)
302
+ create_table :financial_txns do |t|
303
+ t.integer :money_id
304
+ t.date :apply_date
305
+
306
+ t.timestamps
307
+ end
308
+ end
309
+
310
+ unless table_exists?(:financial_txn_assns)
311
+ create_table :financial_txn_assns do |t|
312
+ t.references :financial_txn
313
+ t.references :financial_txn_record, :polymorphic => true
314
+
315
+ t.timestamps
316
+ end
317
+ end
318
+
319
+ unless table_exists?(:financial_txn_accounts)
320
+ create_table :financial_txn_accounts do |t|
321
+ t.column :account_number, :string
322
+ t.column :agreement_id, :integer
323
+ t.column :balance_id, :integer
324
+ t.column :balance_date, :date
325
+ t.column :calculate_balance, :boolean
326
+ t.column :payment_due_id, :integer
327
+ t.column :due_date, :date
328
+
329
+ #polymorphic tables
330
+ t.references :financial_account, :polymorphic => true
331
+
332
+ t.timestamps
333
+ end
334
+ end
335
+
336
+ unless table_exists?(:base_txn_contexts)
337
+ create_table :base_txn_contexts do |t|
338
+ t.references :biz_txn_event
339
+ t.references :txn_context_record, :polymorphic => true
340
+
341
+ t.timestamps
342
+ end
343
+
344
+ add_index :base_txn_contexts, [:txn_context_record_id, :txn_context_record_type], :name => 'txn_context_record_idx'
345
+ end
346
+
347
+ end
348
+
349
+ def self.down
350
+ [
351
+ :biz_txn_agreement_roles, :biz_txn_agreement_role_types, :biz_acct_txn_tasks,
352
+ :biz_txn_acct_pty_rtypes, :biz_txn_acct_party_roles, :biz_txn_acct_relationships,
353
+ :biz_txn_acct_rel_types, :biz_txn_acct_statuses, :biz_txn_acct_types,
354
+ :biz_txn_acct_status_types, :biz_txn_acct_roots, :biz_txn_party_role_types,
355
+ :biz_txn_party_roles, :biz_txn_task_types, :biz_txn_tasks,
356
+ :biz_txn_statuses, :biz_txn_rel_types, :biz_txn_relationships,:base_txn_contexts,
357
+ :biz_txn_types, :biz_txn_event_descs, :biz_txn_events,:financial_txn_accounts,:financial_txns
358
+ ].each do |tbl|
359
+ if table_exists?(tbl)
360
+ drop_table tbl
361
+ end
362
+ end
363
+ end
364
+ end
@@ -0,0 +1,160 @@
1
+ # This migration comes from erp_agreements (originally 20080805000070)
2
+ class AgreementsServices < ActiveRecord::Migration
3
+ def self.up
4
+
5
+ # Create agreements
6
+ unless table_exists?(:agreements)
7
+ create_table :agreements do |t|
8
+ t.column :description, :string
9
+ t.column :agreement_type_id, :integer
10
+ t.column :agreement_status, :string
11
+ t.column :product_id, :integer
12
+ t.column :agreement_date, :date
13
+ t.column :from_date, :date
14
+ t.column :thru_date, :date
15
+ t.column :external_identifier, :string
16
+ t.column :external_id_source, :string
17
+
18
+ t.timestamps
19
+ end
20
+ end
21
+
22
+ # Create agreement types
23
+ unless table_exists?(:agreement_types)
24
+ create_table :agreement_types do |t|
25
+ t.column :parent_id, :integer
26
+ t.column :lft, :integer
27
+ t.column :rgt, :integer
28
+
29
+ #custom columns go here
30
+ t.column :description, :string
31
+ t.column :comments, :string
32
+ t.column :internal_identifier, :string
33
+ t.column :external_identifier, :string
34
+ t.column :external_id_source, :string
35
+
36
+ t.timestamps
37
+ end
38
+ end
39
+
40
+ # Create agreement items
41
+ unless table_exists?(:agreement_items)
42
+ create_table :agreement_items do |t|
43
+ t.column :agreement_id, :integer
44
+ t.column :agreement_item_type_id, :integer
45
+ t.column :agreement_item_value, :string
46
+ t.column :description, :string
47
+ t.column :agreement_item_rule_string, :string
48
+
49
+ t.timestamps
50
+ end
51
+ end
52
+
53
+ # Create agreement item types
54
+ unless table_exists?(:agreement_item_types)
55
+ create_table :agreement_item_types do |t|
56
+ t.column :parent_id, :integer
57
+ t.column :lft, :integer
58
+ t.column :rgt, :integer
59
+
60
+ #custom columns go here
61
+ t.column :description, :string
62
+ t.column :comments, :string
63
+ t.column :internal_identifier, :string
64
+ t.column :external_identifier, :string
65
+ t.column :external_id_source, :string
66
+
67
+ t.timestamps
68
+ end
69
+ end
70
+
71
+ # Create agreement_party_roles
72
+ unless table_exists?(:agreement_party_roles)
73
+ create_table :agreement_party_roles do |t|
74
+ t.column :description, :string
75
+ t.column :agreement_id, :integer
76
+ t.column :party_id, :integer
77
+ t.column :role_type_id, :integer
78
+ t.column :external_identifier, :string
79
+ t.column :external_id_source, :string
80
+
81
+ t.timestamps
82
+ end
83
+ end
84
+
85
+ unless table_exists?(:agreement_relationships)
86
+ create_table :agreement_relationships do |t|
87
+ t.column :agreement_reln_type_id, :integer
88
+ t.column :description, :string
89
+ t.column :agreement_id_from, :integer
90
+ t.column :agreement_id_to, :integer
91
+ t.column :role_type_id_from, :integer
92
+ t.column :role_type_id_to, :integer
93
+ t.column :status_type_id, :integer
94
+ t.column :from_date, :date
95
+ t.column :thru_date, :date
96
+
97
+ t.timestamps
98
+ end
99
+ end
100
+
101
+ unless table_exists?(:agreement_reln_types)
102
+ create_table :agreement_reln_types do |t|
103
+ t.column :parent_id, :integer
104
+ t.column :lft, :integer
105
+ t.column :rgt, :integer
106
+ #custom columns go here
107
+ t.column :valid_from_role_type_id, :integer
108
+ t.column :valid_to_role_type_id, :integer
109
+ t.column :name, :string
110
+ t.column :description, :string
111
+ t.column :internal_identifier, :string
112
+ t.column :external_identifier, :string
113
+ t.column :external_id_source, :string
114
+
115
+ t.timestamps
116
+ end
117
+ end
118
+
119
+ unless table_exists?(:agreement_role_types)
120
+ create_table :agreement_role_types do |t|
121
+
122
+ t.column :parent_id, :integer
123
+ t.column :lft, :integer
124
+ t.column :rgt, :integer
125
+ #custom columns go here
126
+ t.column :description, :string
127
+ t.column :comments, :string
128
+ t.column :internal_identifier, :string
129
+ t.column :external_identifier, :string
130
+ t.column :external_id_source, :string
131
+
132
+ t.timestamps
133
+ end
134
+ end
135
+
136
+ unless table_exists?(:loyalty_program_codes)
137
+ create_table :loyalty_program_codes do |t|
138
+ t.string :identifier
139
+ t.string :name
140
+ t.string :description
141
+
142
+ t.timestamps
143
+ end
144
+ end
145
+
146
+ end
147
+
148
+ def self.down
149
+ [
150
+ :loyalty_program_codes, :agreement_role_types, :agreement_reln_types,
151
+ :agreement_relationships, :agreement_party_roles, :agreement_item_types,
152
+ :agreement_items, :agreements
153
+ ].each do |tbl|
154
+ if table_exists?(tbl)
155
+ drop_table tbl
156
+ end
157
+ end
158
+
159
+ end
160
+ end