You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
825 B
23 lines
825 B
3 years ago
|
# This migration creates the `versions` table, the only schema PT requires.
|
||
|
# All other migrations PT provides are optional.
|
||
|
class CreateVersions < ActiveRecord::Migration[7.0]
|
||
|
# 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, limit: 191
|
||
|
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, %i[item_type item_id]
|
||
|
end
|
||
|
end
|