add paper trail
This commit is contained in:
23
db/migrate/20210817233439_create_versions.rb
Normal file
23
db/migrate/20210817233439_create_versions.rb
Normal file
@@ -0,0 +1,23 @@
|
||||
# frozen_string_literal: true
|
||||
# This migration creates the `versions` table, the only schema PT requires.
|
||||
# All other migrations PT provides are optional.
|
||||
class CreateVersions < ActiveRecord::Migration[6.1]
|
||||
# The largest text column available in all supported RDBMS is
|
||||
# 1024^3 - 1 bytes, roughly one gibibyte. We specify a size
|
||||
# so that MySQL will use `longtext` instead of `text`. Otherwise,
|
||||
# when serializing very large objects, `text` might not be big enough.
|
||||
TEXT_BYTES = 1_073_741_823
|
||||
|
||||
def change
|
||||
create_table(:versions) do |t|
|
||||
t.string(:item_type, { null: false })
|
||||
t.bigint(:item_id, null: false)
|
||||
t.string(:event, null: false)
|
||||
t.string(:whodunnit)
|
||||
t.text(:object, limit: TEXT_BYTES)
|
||||
|
||||
t.datetime(:created_at)
|
||||
end
|
||||
add_index(:versions, [:item_type, :item_id])
|
||||
end
|
||||
end
|
||||
12
db/schema.rb
generated
12
db/schema.rb
generated
@@ -10,7 +10,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 2021_08_16_174637) do
|
||||
ActiveRecord::Schema.define(version: 2021_08_17_233439) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
@@ -138,6 +138,16 @@ ActiveRecord::Schema.define(version: 2021_08_16_174637) do
|
||||
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
|
||||
end
|
||||
|
||||
create_table "versions", force: :cascade do |t|
|
||||
t.string "item_type", null: false
|
||||
t.bigint "item_id", null: false
|
||||
t.string "event", null: false
|
||||
t.string "whodunnit"
|
||||
t.text "object"
|
||||
t.datetime "created_at"
|
||||
t.index ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id"
|
||||
end
|
||||
|
||||
add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id"
|
||||
add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id"
|
||||
add_foreign_key "balances", "currencies"
|
||||
|
||||
Reference in New Issue
Block a user