Sha256: 51b0e288071f49cd0fde206f0ac11c8ed323f3428382158093acb6cd3a52bc63

Contents?: true

Size: 794 Bytes

Versions: 4

Compression:

Stored size: 794 Bytes

Contents

class CreateShortenedUrlsTable < ActiveRecord::Migration
  def change
    create_table :shortened_urls do |t|
      # we can link this to a user for interesting things
      t.integer :owner_id
      t.string :owner_type, limit: 20

      # the real url that we will redirect to
      t.string :url, null: false

      # the unique key
      t.string :unique_key, limit: 10, null: false

      # how many times the link has been clicked
      t.integer :use_count, null: false, default: 0

      t.timestamps
    end

    # we will lookup the links in the db by key and owners.
    # also make sure the unique keys are actually unique
    add_index :shortened_urls, :unique_key, unique: true
    add_index :shortened_urls, :url
    add_index :shortened_urls, [:owner_id, :owner_type]
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
shortener-0.4.1 spec/dummy/db/migrate/20120213084304_create_shortened_urls_table.rb
shortener-0.5.1 spec/dummy/db/migrate/20120213084304_create_shortened_urls_table.rb
shortener-0.5.0 spec/dummy/db/migrate/20120213084304_create_shortened_urls_table.rb
shortener-0.4.0 spec/dummy/db/migrate/20120213084304_create_shortened_urls_table.rb