Sha256: a7601bc6c8ab84cece229c051f32e5f470d138996daf916a147406e414162dce
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
class <%= migration_class_name %> < ActiveRecord::Migration<%= migration_version %> # 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 unless ActiveRecord::Base.connection.table_exists?(:hist_pendings) create_table :hist_pendings do |t| t.string :model, {:null=>false} t.integer :obj_id t.string :whodunnit t.string :extra t.text :data, limit: TEXT_BYTES t.datetime :discarded_at # Known issue in MySQL: fractional second precision # ------------------------------------------------- # # MySQL timestamp columns do not support fractional seconds unless # defined with "fractional seconds precision". MySQL users should manually # add fractional seconds precision to this migration, specifically, to # the `created_at` column. # (https://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html) # # MySQL users should also upgrade to rails 4.2, which is the first # version of ActiveRecord with support for fractional seconds in MySQL. # (https://github.com/rails/rails/pull/14359) # t.datetime :created_at, limit: 6 end add_index :hist_pendings, %i(model obj_id) unless index_exists? :hist_pendings, [:discarded_at], name: 'hist_pending_discarded_idy' add_index :hist_pendings, [:discarded_at], name: 'hist_pending_discarded_idy' end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hist-0.2.0 | lib/generators/hist/templates/db/create_hist_pendings.rb.erb |