class CreateShortenedUrlsTable
Public Instance Methods
change()
click to toggle source
# File lib/generators/url_shortner/templates/migration.rb, line 2 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.text :original_url, null: false, length: 2083 t.text :short_url, null: false, length: 2083 # the unique key # t.string :unique_key, limit: 10, null: false # a category to help categorize shortened urls # t.string :category # how many times the link has been clicked # t.integer :use_count, null: false, default: 0 # valid until date for expirable urls # t.datetime :expires_at t.timestamps end # we will lookup the links in the db by key, urls and owners. # also make sure the unique keys are actually unique # add_index :shortened_urls, :unique_key, unique: true add_index :short_url, :url, length: 2083 # add_index :shortened_urls, [:owner_id, :owner_type] # add_index :shortened_urls, :category end