paper_trail 7.1.0 → 7.1.1

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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/paper_trail/record_trail.rb +1 -1
  3. data/lib/paper_trail/version_number.rb +1 -1
  4. metadata +3 -274
  5. data/.github/CONTRIBUTING.md +0 -151
  6. data/.github/ISSUE_TEMPLATE.md +0 -13
  7. data/.gitignore +0 -23
  8. data/.rspec +0 -2
  9. data/.rubocop.yml +0 -135
  10. data/.rubocop_todo.yml +0 -41
  11. data/.travis.yml +0 -41
  12. data/Appraisals +0 -26
  13. data/CHANGELOG.md +0 -739
  14. data/Gemfile +0 -2
  15. data/MIT-LICENSE +0 -20
  16. data/README.md +0 -1613
  17. data/Rakefile +0 -38
  18. data/doc/bug_report_template.rb +0 -73
  19. data/doc/triage.md +0 -27
  20. data/doc/warning_about_not_setting_whodunnit.md +0 -33
  21. data/gemfiles/ar_4.0.gemfile +0 -7
  22. data/gemfiles/ar_4.2.gemfile +0 -7
  23. data/gemfiles/ar_5.0.gemfile +0 -8
  24. data/gemfiles/ar_5.1.gemfile +0 -8
  25. data/gemfiles/ar_master.gemfile +0 -9
  26. data/lib/generators/paper_trail/default_initializer.rb +0 -0
  27. data/paper_trail.gemspec +0 -49
  28. data/spec/controllers/articles_controller_spec.rb +0 -28
  29. data/spec/controllers/widgets_controller_spec.rb +0 -85
  30. data/spec/dummy_app/Rakefile +0 -7
  31. data/spec/dummy_app/app/controllers/application_controller.rb +0 -30
  32. data/spec/dummy_app/app/controllers/articles_controller.rb +0 -16
  33. data/spec/dummy_app/app/controllers/test_controller.rb +0 -5
  34. data/spec/dummy_app/app/controllers/widgets_controller.rb +0 -28
  35. data/spec/dummy_app/app/models/animal.rb +0 -4
  36. data/spec/dummy_app/app/models/article.rb +0 -25
  37. data/spec/dummy_app/app/models/authorship.rb +0 -5
  38. data/spec/dummy_app/app/models/bar_habtm.rb +0 -4
  39. data/spec/dummy_app/app/models/book.rb +0 -9
  40. data/spec/dummy_app/app/models/boolit.rb +0 -4
  41. data/spec/dummy_app/app/models/callback_modifier.rb +0 -45
  42. data/spec/dummy_app/app/models/car.rb +0 -3
  43. data/spec/dummy_app/app/models/cat.rb +0 -2
  44. data/spec/dummy_app/app/models/chapter.rb +0 -9
  45. data/spec/dummy_app/app/models/citation.rb +0 -5
  46. data/spec/dummy_app/app/models/custom_primary_key_record.rb +0 -15
  47. data/spec/dummy_app/app/models/customer.rb +0 -4
  48. data/spec/dummy_app/app/models/document.rb +0 -8
  49. data/spec/dummy_app/app/models/dog.rb +0 -2
  50. data/spec/dummy_app/app/models/editor.rb +0 -4
  51. data/spec/dummy_app/app/models/editorship.rb +0 -5
  52. data/spec/dummy_app/app/models/elephant.rb +0 -3
  53. data/spec/dummy_app/app/models/fluxor.rb +0 -3
  54. data/spec/dummy_app/app/models/foo_habtm.rb +0 -5
  55. data/spec/dummy_app/app/models/foo_widget.rb +0 -2
  56. data/spec/dummy_app/app/models/fruit.rb +0 -5
  57. data/spec/dummy_app/app/models/gadget.rb +0 -3
  58. data/spec/dummy_app/app/models/kitchen/banana.rb +0 -5
  59. data/spec/dummy_app/app/models/legacy_widget.rb +0 -6
  60. data/spec/dummy_app/app/models/line_item.rb +0 -4
  61. data/spec/dummy_app/app/models/not_on_update.rb +0 -4
  62. data/spec/dummy_app/app/models/on/create.rb +0 -6
  63. data/spec/dummy_app/app/models/on/destroy.rb +0 -6
  64. data/spec/dummy_app/app/models/on/empty_array.rb +0 -6
  65. data/spec/dummy_app/app/models/on/update.rb +0 -6
  66. data/spec/dummy_app/app/models/order.rb +0 -5
  67. data/spec/dummy_app/app/models/paragraph.rb +0 -5
  68. data/spec/dummy_app/app/models/person.rb +0 -39
  69. data/spec/dummy_app/app/models/post.rb +0 -3
  70. data/spec/dummy_app/app/models/post_with_status.rb +0 -7
  71. data/spec/dummy_app/app/models/quotation.rb +0 -5
  72. data/spec/dummy_app/app/models/section.rb +0 -6
  73. data/spec/dummy_app/app/models/skipper.rb +0 -3
  74. data/spec/dummy_app/app/models/song.rb +0 -37
  75. data/spec/dummy_app/app/models/thing.rb +0 -3
  76. data/spec/dummy_app/app/models/translation.rb +0 -11
  77. data/spec/dummy_app/app/models/truck.rb +0 -4
  78. data/spec/dummy_app/app/models/vehicle.rb +0 -4
  79. data/spec/dummy_app/app/models/whatchamajigger.rb +0 -4
  80. data/spec/dummy_app/app/models/widget.rb +0 -8
  81. data/spec/dummy_app/app/models/wotsit.rb +0 -8
  82. data/spec/dummy_app/app/versions/custom_primary_key_record_version.rb +0 -3
  83. data/spec/dummy_app/app/versions/joined_version.rb +0 -6
  84. data/spec/dummy_app/app/versions/json_version.rb +0 -3
  85. data/spec/dummy_app/app/versions/kitchen/banana_version.rb +0 -5
  86. data/spec/dummy_app/app/versions/post_version.rb +0 -3
  87. data/spec/dummy_app/config.ru +0 -4
  88. data/spec/dummy_app/config/application.rb +0 -39
  89. data/spec/dummy_app/config/boot.rb +0 -24
  90. data/spec/dummy_app/config/database.mysql.yml +0 -19
  91. data/spec/dummy_app/config/database.postgres.yml +0 -15
  92. data/spec/dummy_app/config/database.sqlite.yml +0 -15
  93. data/spec/dummy_app/config/environment.rb +0 -5
  94. data/spec/dummy_app/config/environments/development.rb +0 -36
  95. data/spec/dummy_app/config/environments/production.rb +0 -74
  96. data/spec/dummy_app/config/environments/test.rb +0 -46
  97. data/spec/dummy_app/config/initializers/backtrace_silencers.rb +0 -9
  98. data/spec/dummy_app/config/initializers/inflections.rb +0 -10
  99. data/spec/dummy_app/config/initializers/mime_types.rb +0 -5
  100. data/spec/dummy_app/config/initializers/paper_trail.rb +0 -1
  101. data/spec/dummy_app/config/initializers/secret_token.rb +0 -9
  102. data/spec/dummy_app/config/initializers/session_store.rb +0 -8
  103. data/spec/dummy_app/config/locales/en.yml +0 -5
  104. data/spec/dummy_app/config/routes.rb +0 -4
  105. data/spec/dummy_app/db/migrate/20110208155312_set_up_test_tables.rb +0 -344
  106. data/spec/dummy_app/db/schema.rb +0 -298
  107. data/spec/generators/install_generator_spec.rb +0 -88
  108. data/spec/models/animal_spec.rb +0 -61
  109. data/spec/models/article_spec.rb +0 -186
  110. data/spec/models/boolit_spec.rb +0 -41
  111. data/spec/models/callback_modifier_spec.rb +0 -92
  112. data/spec/models/car_spec.rb +0 -13
  113. data/spec/models/custom_primary_key_record_spec.rb +0 -18
  114. data/spec/models/document_spec.rb +0 -57
  115. data/spec/models/gadget_spec.rb +0 -63
  116. data/spec/models/joined_version_spec.rb +0 -41
  117. data/spec/models/json_version_spec.rb +0 -101
  118. data/spec/models/kitchen/banana_spec.rb +0 -14
  119. data/spec/models/legacy_widget_spec.rb +0 -40
  120. data/spec/models/not_on_update_spec.rb +0 -22
  121. data/spec/models/on/create_spec.rb +0 -27
  122. data/spec/models/on/destroy_spec.rb +0 -27
  123. data/spec/models/on/empty_array_spec.rb +0 -30
  124. data/spec/models/on/update_spec.rb +0 -27
  125. data/spec/models/post_with_status_spec.rb +0 -46
  126. data/spec/models/skipper_spec.rb +0 -42
  127. data/spec/models/thing_spec.rb +0 -11
  128. data/spec/models/translation_spec.rb +0 -70
  129. data/spec/models/vehicle_spec.rb +0 -5
  130. data/spec/models/version_spec.rb +0 -282
  131. data/spec/models/widget_spec.rb +0 -338
  132. data/spec/modules/paper_trail_spec.rb +0 -27
  133. data/spec/modules/version_concern_spec.rb +0 -28
  134. data/spec/modules/version_number_spec.rb +0 -18
  135. data/spec/paper_trail/associations_spec.rb +0 -965
  136. data/spec/paper_trail/cleaner_spec.rb +0 -152
  137. data/spec/paper_trail/config_spec.rb +0 -45
  138. data/spec/paper_trail/model_spec.rb +0 -992
  139. data/spec/paper_trail/serializer_spec.rb +0 -85
  140. data/spec/paper_trail/serializers/custom_json_serializer_spec.rb +0 -18
  141. data/spec/paper_trail/serializers/custom_yaml_serializer_spec.rb +0 -45
  142. data/spec/paper_trail/serializers/json_spec.rb +0 -57
  143. data/spec/paper_trail/serializers/yaml_spec.rb +0 -42
  144. data/spec/paper_trail/thread_safety_spec.rb +0 -44
  145. data/spec/paper_trail/version_limit_spec.rb +0 -55
  146. data/spec/paper_trail/version_spec.rb +0 -96
  147. data/spec/paper_trail_spec.rb +0 -122
  148. data/spec/requests/articles_spec.rb +0 -34
  149. data/spec/spec_helper.rb +0 -78
  150. data/spec/support/alt_db_init.rb +0 -54
  151. data/spec/support/custom_json_serializer.rb +0 -13
@@ -1,4 +0,0 @@
1
- Dummy::Application.routes.draw do
2
- resources :articles, only: [:create]
3
- resources :widgets, only: %i[create update destroy]
4
- end
@@ -1,344 +0,0 @@
1
- # Parts of this migration must be kept in sync with
2
- # `lib/generators/paper_trail/templates/create_versions.rb`
3
- #
4
- # Starting with AR 5.1, we must specify which version of AR we are using.
5
- # I tried using `const_get` but I got a `NameError`, then I learned about
6
- # `::ActiveRecord::Migration::Current`.
7
- class SetUpTestTables < (
8
- if ::ActiveRecord::VERSION::MAJOR >= 5
9
- ::ActiveRecord::Migration::Current
10
- else
11
- ::ActiveRecord::Migration
12
- end
13
- )
14
- MYSQL_ADAPTERS = [
15
- "ActiveRecord::ConnectionAdapters::MysqlAdapter",
16
- "ActiveRecord::ConnectionAdapters::Mysql2Adapter"
17
- ].freeze
18
- TEXT_BYTES = 1_073_741_823
19
-
20
- def up
21
- create_table :on_create, force: true do |t|
22
- t.string :name, null: false
23
- end
24
-
25
- create_table :on_destroy, force: true do |t|
26
- t.string :name, null: false
27
- end
28
-
29
- create_table :on_empty_array, force: true do |t|
30
- t.string :name, null: false
31
- end
32
-
33
- create_table :on_update, force: true do |t|
34
- t.string :name, null: false
35
- end
36
-
37
- # Classes: Vehicle, Car, Truck
38
- create_table :vehicles, force: true do |t|
39
- t.string :name, null: false
40
- t.string :type, null: false
41
- t.timestamps null: false
42
- end
43
-
44
- create_table :skippers, force: true do |t|
45
- t.string :name
46
- t.datetime :another_timestamp
47
- t.timestamps null: true
48
- end
49
-
50
- create_table :widgets, force: true do |t|
51
- t.string :name
52
- t.text :a_text
53
- t.integer :an_integer
54
- t.float :a_float
55
- t.decimal :a_decimal, precision: 6, scale: 4
56
- t.datetime :a_datetime
57
- t.time :a_time
58
- t.date :a_date
59
- t.boolean :a_boolean
60
- t.string :type
61
- t.timestamps null: true
62
- end
63
-
64
- create_table :versions, versions_table_options do |t|
65
- t.string :item_type, item_type_options
66
- t.integer :item_id, null: false
67
- t.string :event, null: false
68
- t.string :whodunnit
69
- t.text :object, limit: TEXT_BYTES
70
- t.text :object_changes, limit: TEXT_BYTES
71
- t.integer :transaction_id
72
- t.datetime :created_at
73
-
74
- # Metadata columns.
75
- t.integer :answer
76
- t.string :action
77
- t.string :question
78
- t.integer :article_id
79
- t.string :title
80
-
81
- # Controller info columns.
82
- t.string :ip
83
- t.string :user_agent
84
- end
85
- add_index :versions, %i[item_type item_id]
86
-
87
- create_table :version_associations do |t|
88
- t.integer :version_id
89
- t.string :foreign_key_name, null: false
90
- t.integer :foreign_key_id
91
- end
92
- add_index :version_associations, [:version_id]
93
- add_index :version_associations,
94
- %i[foreign_key_name foreign_key_id],
95
- name: "index_version_associations_on_foreign_key"
96
-
97
- create_table :post_versions, force: true do |t|
98
- t.string :item_type, null: false
99
- t.integer :item_id, null: false
100
- t.string :event, null: false
101
- t.string :whodunnit
102
- t.text :object
103
- t.datetime :created_at
104
-
105
- # Controller info columns.
106
- t.string :ip
107
- t.string :user_agent
108
- end
109
- add_index :post_versions, %i[item_type item_id]
110
-
111
- if ENV["DB"] == "postgres" && ::ActiveRecord::VERSION::MAJOR >= 4
112
- create_table :json_versions, force: true do |t|
113
- t.string :item_type, null: false
114
- t.integer :item_id, null: false
115
- t.string :event, null: false
116
- t.string :whodunnit
117
- t.json :object
118
- t.json :object_changes
119
- t.datetime :created_at
120
- end
121
- add_index :json_versions, %i[item_type item_id]
122
- end
123
-
124
- create_table :not_on_updates, force: true do |t|
125
- t.timestamps null: true
126
- end
127
-
128
- create_table :bananas, force: true do |t|
129
- t.timestamps null: true
130
- end
131
-
132
- create_table :banana_versions, force: true do |t|
133
- t.string :item_type, null: false
134
- t.integer :item_id, null: false
135
- t.string :event, null: false
136
- t.string :whodunnit
137
- t.text :object
138
- t.datetime :created_at
139
- end
140
- add_index :banana_versions, %i[item_type item_id]
141
-
142
- create_table :wotsits, force: true do |t|
143
- t.integer :widget_id
144
- t.string :name
145
- t.timestamps null: true
146
- end
147
-
148
- create_table :fluxors, force: true do |t|
149
- t.integer :widget_id
150
- t.string :name
151
- end
152
-
153
- create_table :whatchamajiggers, force: true do |t|
154
- t.string :owner_type
155
- t.integer :owner_id
156
- t.string :name
157
- end
158
-
159
- create_table :articles, force: true do |t|
160
- t.string :title
161
- t.string :content
162
- t.string :abstract
163
- t.string :file_upload
164
- end
165
-
166
- create_table :books, force: true do |t|
167
- t.string :title
168
- end
169
-
170
- create_table :authorships, force: true do |t|
171
- t.integer :book_id
172
- t.integer :author_id
173
- end
174
-
175
- create_table :people, force: true do |t|
176
- t.string :name
177
- t.string :time_zone
178
- t.integer :mentor_id
179
- end
180
-
181
- create_table :editorships, force: true do |t|
182
- t.integer :book_id
183
- t.integer :editor_id
184
- end
185
-
186
- create_table :editors, force: true do |t|
187
- t.string :name
188
- end
189
-
190
- create_table :songs, force: true do |t|
191
- t.integer :length
192
- end
193
-
194
- create_table :posts, force: true do |t|
195
- t.string :title
196
- t.string :content
197
- end
198
-
199
- create_table :post_with_statuses, force: true do |t|
200
- t.integer :status
201
- t.timestamps null: false
202
- end
203
-
204
- create_table :animals, force: true do |t|
205
- t.string :name
206
- t.string :species # single table inheritance column
207
- end
208
-
209
- create_table :documents, force: true do |t|
210
- t.string :name
211
- end
212
-
213
- create_table :legacy_widgets, force: true do |t|
214
- t.string :name
215
- t.integer :version
216
- end
217
-
218
- create_table :things, force: true do |t|
219
- t.string :name
220
- end
221
-
222
- create_table :translations, force: true do |t|
223
- t.string :headline
224
- t.string :content
225
- t.string :language_code
226
- t.string :type
227
- end
228
-
229
- create_table :gadgets, force: true do |t|
230
- t.string :name
231
- t.string :brand
232
- t.timestamps null: true
233
- end
234
-
235
- create_table :customers, force: true do |t|
236
- t.string :name
237
- end
238
-
239
- create_table :orders, force: true do |t|
240
- t.integer :customer_id
241
- t.string :order_date
242
- end
243
-
244
- create_table :line_items, force: true do |t|
245
- t.integer :order_id
246
- t.string :product
247
- end
248
-
249
- create_table :fruits, force: true do |t|
250
- t.string :name
251
- t.string :color
252
- end
253
-
254
- create_table :boolits, force: true do |t|
255
- t.string :name
256
- t.boolean :scoped, default: true
257
- end
258
-
259
- create_table :callback_modifiers, force: true do |t|
260
- t.string :some_content
261
- t.boolean :deleted, default: false
262
- end
263
-
264
- create_table :chapters, force: true do |t|
265
- t.string :name
266
- end
267
-
268
- create_table :sections, force: true do |t|
269
- t.integer :chapter_id
270
- t.string :name
271
- end
272
-
273
- create_table :paragraphs, force: true do |t|
274
- t.integer :section_id
275
- t.string :name
276
- end
277
-
278
- create_table :quotations, force: true do |t|
279
- t.integer :chapter_id
280
- end
281
-
282
- create_table :citations, force: true do |t|
283
- t.integer :quotation_id
284
- end
285
-
286
- create_table :foo_habtms, force: true do |t|
287
- t.string :name
288
- end
289
-
290
- create_table :bar_habtms, force: true do |t|
291
- t.string :name
292
- end
293
-
294
- create_table :bar_habtms_foo_habtms, force: true, id: false do |t|
295
- t.integer :foo_habtm_id
296
- t.integer :bar_habtm_id
297
- end
298
- add_index :bar_habtms_foo_habtms, [:foo_habtm_id]
299
- add_index :bar_habtms_foo_habtms, [:bar_habtm_id]
300
-
301
- # custom_primary_key_records use a uuid column (string)
302
- create_table :custom_primary_key_records, id: false, force: true do |t|
303
- t.column :uuid, :string, primary_key: true
304
- t.string :name
305
- t.timestamps null: true
306
- end
307
-
308
- # and custom_primary_key_record_versions stores the uuid in item_id, a string
309
- create_table :custom_primary_key_record_versions, force: true do |t|
310
- t.string :item_type, null: false
311
- t.string :item_id, null: false
312
- t.string :event, null: false
313
- t.string :whodunnit
314
- t.text :object
315
- t.datetime :created_at
316
- end
317
- add_index :custom_primary_key_record_versions, %i[item_type item_id], name: "idx_cust_pk_item"
318
- end
319
-
320
- def down
321
- # Not actually irreversible, but there is no need to maintain this method.
322
- raise ActiveRecord::IrreversibleMigration
323
- end
324
-
325
- private
326
-
327
- def item_type_options
328
- opt = { null: false }
329
- opt[:limit] = 191 if mysql?
330
- opt
331
- end
332
-
333
- def mysql?
334
- MYSQL_ADAPTERS.include?(connection.class.name)
335
- end
336
-
337
- def versions_table_options
338
- if mysql?
339
- { options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci" }
340
- else
341
- {}
342
- end
343
- end
344
- end
@@ -1,298 +0,0 @@
1
- # This file is auto-generated from the current state of the database. Instead
2
- # of editing this file, please use the migrations feature of Active Record to
3
- # incrementally modify your database, and then regenerate this schema definition.
4
- #
5
- # Note that this schema.rb definition is the authoritative source for your
6
- # database schema. If you need to create the application database on another
7
- # system, you should be using db:schema:load, not running all the migrations
8
- # from scratch. The latter is a flawed and unsustainable approach (the more migrations
9
- # you'll amass, the slower it'll run and the greater likelihood for issues).
10
- #
11
- # It's strongly recommended that you check this file into your version control system.
12
-
13
- ActiveRecord::Schema.define(version: 20110208155312) do
14
-
15
- create_table "animals", force: :cascade do |t|
16
- t.string "name"
17
- t.string "species"
18
- end
19
-
20
- create_table "articles", force: :cascade do |t|
21
- t.string "title"
22
- t.string "content"
23
- t.string "abstract"
24
- t.string "file_upload"
25
- end
26
-
27
- create_table "authorships", force: :cascade do |t|
28
- t.integer "book_id"
29
- t.integer "author_id"
30
- end
31
-
32
- create_table "banana_versions", force: :cascade do |t|
33
- t.string "item_type", null: false
34
- t.integer "item_id", null: false
35
- t.string "event", null: false
36
- t.string "whodunnit"
37
- t.text "object"
38
- t.datetime "created_at"
39
- t.index ["item_type", "item_id"], name: "index_banana_versions_on_item_type_and_item_id"
40
- end
41
-
42
- create_table "bananas", force: :cascade do |t|
43
- t.datetime "created_at"
44
- t.datetime "updated_at"
45
- end
46
-
47
- create_table "bar_habtms", force: :cascade do |t|
48
- t.string "name"
49
- end
50
-
51
- create_table "bar_habtms_foo_habtms", id: false, force: :cascade do |t|
52
- t.integer "foo_habtm_id"
53
- t.integer "bar_habtm_id"
54
- t.index ["bar_habtm_id"], name: "index_bar_habtms_foo_habtms_on_bar_habtm_id"
55
- t.index ["foo_habtm_id"], name: "index_bar_habtms_foo_habtms_on_foo_habtm_id"
56
- end
57
-
58
- create_table "books", force: :cascade do |t|
59
- t.string "title"
60
- end
61
-
62
- create_table "boolits", force: :cascade do |t|
63
- t.string "name"
64
- t.boolean "scoped", default: true
65
- end
66
-
67
- create_table "callback_modifiers", force: :cascade do |t|
68
- t.string "some_content"
69
- t.boolean "deleted", default: false
70
- end
71
-
72
- create_table "chapters", force: :cascade do |t|
73
- t.string "name"
74
- end
75
-
76
- create_table "citations", force: :cascade do |t|
77
- t.integer "quotation_id"
78
- end
79
-
80
- create_table "custom_primary_key_record_versions", force: :cascade do |t|
81
- t.string "item_type", null: false
82
- t.string "item_id", null: false
83
- t.string "event", null: false
84
- t.string "whodunnit"
85
- t.text "object"
86
- t.datetime "created_at"
87
- t.index ["item_type", "item_id"], name: "idx_cust_pk_item"
88
- end
89
-
90
- create_table "custom_primary_key_records", primary_key: "uuid", id: :string, force: :cascade do |t|
91
- t.string "name"
92
- t.datetime "created_at"
93
- t.datetime "updated_at"
94
- t.index ["uuid"], name: "sqlite_autoindex_custom_primary_key_records_1", unique: true
95
- end
96
-
97
- create_table "customers", force: :cascade do |t|
98
- t.string "name"
99
- end
100
-
101
- create_table "documents", force: :cascade do |t|
102
- t.string "name"
103
- end
104
-
105
- create_table "editors", force: :cascade do |t|
106
- t.string "name"
107
- end
108
-
109
- create_table "editorships", force: :cascade do |t|
110
- t.integer "book_id"
111
- t.integer "editor_id"
112
- end
113
-
114
- create_table "fluxors", force: :cascade do |t|
115
- t.integer "widget_id"
116
- t.string "name"
117
- end
118
-
119
- create_table "foo_habtms", force: :cascade do |t|
120
- t.string "name"
121
- end
122
-
123
- create_table "fruits", force: :cascade do |t|
124
- t.string "name"
125
- t.string "color"
126
- end
127
-
128
- create_table "gadgets", force: :cascade do |t|
129
- t.string "name"
130
- t.string "brand"
131
- t.datetime "created_at"
132
- t.datetime "updated_at"
133
- end
134
-
135
- create_table "legacy_widgets", force: :cascade do |t|
136
- t.string "name"
137
- t.integer "version"
138
- end
139
-
140
- create_table "line_items", force: :cascade do |t|
141
- t.integer "order_id"
142
- t.string "product"
143
- end
144
-
145
- create_table "not_on_updates", force: :cascade do |t|
146
- t.datetime "created_at"
147
- t.datetime "updated_at"
148
- end
149
-
150
- create_table "on_create", force: :cascade do |t|
151
- t.string "name", null: false
152
- end
153
-
154
- create_table "on_destroy", force: :cascade do |t|
155
- t.string "name", null: false
156
- end
157
-
158
- create_table "on_empty_array", force: :cascade do |t|
159
- t.string "name", null: false
160
- end
161
-
162
- create_table "on_update", force: :cascade do |t|
163
- t.string "name", null: false
164
- end
165
-
166
- create_table "orders", force: :cascade do |t|
167
- t.integer "customer_id"
168
- t.string "order_date"
169
- end
170
-
171
- create_table "paragraphs", force: :cascade do |t|
172
- t.integer "section_id"
173
- t.string "name"
174
- end
175
-
176
- create_table "people", force: :cascade do |t|
177
- t.string "name"
178
- t.string "time_zone"
179
- t.integer "mentor_id"
180
- end
181
-
182
- create_table "post_versions", force: :cascade do |t|
183
- t.string "item_type", null: false
184
- t.integer "item_id", null: false
185
- t.string "event", null: false
186
- t.string "whodunnit"
187
- t.text "object"
188
- t.datetime "created_at"
189
- t.string "ip"
190
- t.string "user_agent"
191
- t.index ["item_type", "item_id"], name: "index_post_versions_on_item_type_and_item_id"
192
- end
193
-
194
- create_table "post_with_statuses", force: :cascade do |t|
195
- t.integer "status"
196
- t.datetime "created_at", null: false
197
- t.datetime "updated_at", null: false
198
- end
199
-
200
- create_table "posts", force: :cascade do |t|
201
- t.string "title"
202
- t.string "content"
203
- end
204
-
205
- create_table "quotations", force: :cascade do |t|
206
- t.integer "chapter_id"
207
- end
208
-
209
- create_table "sections", force: :cascade do |t|
210
- t.integer "chapter_id"
211
- t.string "name"
212
- end
213
-
214
- create_table "skippers", force: :cascade do |t|
215
- t.string "name"
216
- t.datetime "another_timestamp"
217
- t.datetime "created_at"
218
- t.datetime "updated_at"
219
- end
220
-
221
- create_table "songs", force: :cascade do |t|
222
- t.integer "length"
223
- end
224
-
225
- create_table "things", force: :cascade do |t|
226
- t.string "name"
227
- end
228
-
229
- create_table "translations", force: :cascade do |t|
230
- t.string "headline"
231
- t.string "content"
232
- t.string "language_code"
233
- t.string "type"
234
- end
235
-
236
- create_table "vehicles", force: :cascade do |t|
237
- t.string "name", null: false
238
- t.string "type", null: false
239
- t.datetime "created_at", null: false
240
- t.datetime "updated_at", null: false
241
- end
242
-
243
- create_table "version_associations", force: :cascade do |t|
244
- t.integer "version_id"
245
- t.string "foreign_key_name", null: false
246
- t.integer "foreign_key_id"
247
- t.index ["foreign_key_name", "foreign_key_id"], name: "index_version_associations_on_foreign_key"
248
- t.index ["version_id"], name: "index_version_associations_on_version_id"
249
- end
250
-
251
- create_table "versions", force: :cascade do |t|
252
- t.string "item_type", null: false
253
- t.integer "item_id", null: false
254
- t.string "event", null: false
255
- t.string "whodunnit"
256
- t.text "object", limit: 1073741823
257
- t.text "object_changes", limit: 1073741823
258
- t.integer "transaction_id"
259
- t.datetime "created_at"
260
- t.integer "answer"
261
- t.string "action"
262
- t.string "question"
263
- t.integer "article_id"
264
- t.string "title"
265
- t.string "ip"
266
- t.string "user_agent"
267
- t.index ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id"
268
- end
269
-
270
- create_table "whatchamajiggers", force: :cascade do |t|
271
- t.string "owner_type"
272
- t.integer "owner_id"
273
- t.string "name"
274
- end
275
-
276
- create_table "widgets", force: :cascade do |t|
277
- t.string "name"
278
- t.text "a_text"
279
- t.integer "an_integer"
280
- t.float "a_float"
281
- t.decimal "a_decimal", precision: 6, scale: 4
282
- t.datetime "a_datetime"
283
- t.time "a_time"
284
- t.date "a_date"
285
- t.boolean "a_boolean"
286
- t.string "type"
287
- t.datetime "created_at"
288
- t.datetime "updated_at"
289
- end
290
-
291
- create_table "wotsits", force: :cascade do |t|
292
- t.integer "widget_id"
293
- t.string "name"
294
- t.datetime "created_at"
295
- t.datetime "updated_at"
296
- end
297
-
298
- end