Files
componentowl-rails-archive/db/migrate/20101010145127_customer_tracking.rb

75 lines
1.9 KiB
Ruby

class CustomerTracking < ActiveRecord::Migration
def self.up
create_table :customers do |t|
t.string :first_name
t.string :last_name
t.string :email
t.string :company
t.text :customer_attributes
t.timestamps
t.datetime :deleted_at
end
create_table :orders do |t|
t.integer :customer_id
t.integer :orderable_id, :references => nil
t.string :orderable_type
t.text :license_key
t.text :order_attributes
t.timestamps
t.datetime :deleted_at
end
create_table :visitors do |t|
t.string :trackable_number
t.string :user_agent
t.timestamps
t.datetime :deleted_at
end
create_table :customers_visitors, :id => false, :primary_key => [:customer_id, :visitor_id] do |t|
t.integer :customer_id
t.integer :visitor_id
end
create_table :visitor_tracks do |t|
t.integer :visitor_id
t.text :track
t.integer :trackable_id, :references => nil
t.string :trackable_type
t.integer :source_type_id, :references => :allowed_values
t.string :source
t.string :url
t.string :keywords
t.string :targetable
t.boolean :download, :default => false
t.boolean :checkout, :default => false
t.boolean :order, :default => false
t.timestamps
end
create_table :redirects do |t|
t.integer :source_type_id, :references => :allowed_values
t.string :name
t.string :redirect_path, :null => false
t.string :redirect_to, :null => false
t.timestamps
end
end
def self.down
drop_table :customers
drop_table :orders
drop_table :visitors
drop_table :customers_visitors
drop_table :visitor_tracks
drop_table :redirects
end
end