diff options
| author | Xinhui | 2017-11-21 15:27:17 +0100 |
|---|---|---|
| committer | Xinhui | 2017-11-28 12:09:02 +0100 |
| commit | 8aa230271ec6f0cd578e479c42d95418cb9408c3 (patch) | |
| tree | 9c3dfe3d3ed3aab6615b9ed86936049299004154 /db | |
| parent | 6bd0791839353750511ce4a49e6b75a462dfec51 (diff) | |
| download | chouette-core-8aa230271ec6f0cd578e479c42d95418cb9408c3.tar.bz2 | |
Add gem paper_trail
Diffstat (limited to 'db')
| -rw-r--r-- | db/migrate/20171121142536_create_versions.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/db/migrate/20171121142536_create_versions.rb b/db/migrate/20171121142536_create_versions.rb new file mode 100644 index 000000000..ff794f9e1 --- /dev/null +++ b/db/migrate/20171121142536_create_versions.rb @@ -0,0 +1,34 @@ +class CreateVersions < ActiveRecord::Migration + + # 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.integer :item_id, :null => false + t.string :event, :null => false + t.string :whodunnit + t.text :object, :limit => TEXT_BYTES + + # 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 + end + add_index :versions, [:item_type, :item_id] + end +end |
