class CreateViews < ActiveRecord::Migration
  def change
    create_table :views, id: false do |t|
      t.integer  :parent_id, null: false
      t.string   :parent_type, limit: 50, null: false
      t.integer  :ip, limit: 8, null: false
      t.datetime :viewed_at, null: false
      t.integer  :user_id, null: true
    end

    add_index :views, [:parent_id, :parent_type]
    add_index :views, [:parent_id, :parent_type, :ip, :viewed_at], unique: true, name: "unique_views"
  end
end