main
 1# frozen_string_literal: true
 2
 3class InstallAudited < ActiveRecord::Migration[5.2]
 4  def self.up
 5    create_table :audits, id: :uuid do |t|
 6      t.column :auditable_id, :string
 7      t.column :auditable_type, :string
 8      t.column :associated_id, :string
 9      t.column :associated_type, :string
10      t.column :user_id, :string
11      t.column :user_type, :string
12      t.column :username, :string
13      t.column :action, :string
14      t.column :audited_changes, :text
15      t.column :version, :integer, default: 0
16      t.column :comment, :string
17      t.column :remote_address, :string
18      t.column :request_uuid, :string
19      t.column :created_at, :datetime
20    end
21
22    add_index :audits, [:auditable_type, :auditable_id, :version]
23    add_index :audits, [:associated_type, :associated_id]
24    add_index :audits, [:user_id, :user_type]
25    add_index :audits, :request_uuid
26    add_index :audits, :created_at
27  end
28
29  def self.down
30    drop_table :audits
31  end
32end