class SO2DB::CreateBasicTables

Public Instance Methods

down() click to toggle source
# File lib/so2db/migrations.rb, line 156
def down
  [:votes, :badges, :comments, :post_history, :posts, :users, :post_links, :tags].each do |t|
    drop_table t
  end
end
up() click to toggle source
# File lib/so2db/migrations.rb, line 62
def up
  create_table :badges do |t|
    t.integer :user_id
    t.string :name, :limit => 50
    t.timestamp :date
    t.integer :class
    t.boolean :tag_based
  end

  create_table :comments do |t|
    t.integer :post_id
    t.integer :score
    t.text :text
    t.timestamp :creation_date
    t.string :user_display_name, :limit => 30
    t.integer :user_id
  end

  create_table :posts do |t|
    t.integer :post_type_id
    t.integer :parent_id
    t.integer :accepted_answer_id
    t.timestamp :creation_date
    t.integer :score
    t.integer :view_count
    t.text :body
    t.integer :owner_user_id
    t.text :owner_display_name
    t.integer :last_editor_user_id
    t.string :last_editor_display_name, :limit => 40
    t.timestamp :last_edit_date
    t.timestamp :last_activity_date
    t.timestamp :community_owned_date
    t.timestamp :closed_date
    t.text :title
    t.string :tags, :limit => 150
    t.integer :answer_count
    t.integer :comment_count
    t.integer :favorite_count
  end

  create_table :post_history do |t|
    t.integer :post_history_type_id
    t.integer :post_id
    t.uuid :revision_guid
    t.timestamp :creation_date
    t.integer :user_id
    t.string :user_display_name, :limit => 40
    t.text :comment
    t.text :text
    t.integer :close_reason_id
  end

  create_table :users do |t|
    t.integer :reputation
    t.timestamp :creation_date
    t.text :display_name
    t.string :email_hash, :limit => 32
    t.timestamp :last_access_date
    t.string :website_url, :limit => 300
    t.string :location, :limit => 200
    t.integer :age
    t.text :about_me
    t.integer :views
    t.integer :up_votes
    t.integer :down_votes
    t.integer :account_id
  end

  create_table :votes do |t|
    #t.primary_key :id
    t.integer :post_id
    t.integer :vote_type_id
    t.timestamp :creation_date
    t.integer :user_id
    t.integer :bounty_amount
  end

  create_table :post_links do |t|
    t.date :creation_date
    t.integer :post_id
    t.integer :related_post_id
    t.integer :link_type_id
  end

  create_table :tags do |t|
    t.text :tag_name
    t.integer :count
    t.integer :excerpt_post_id
    t.integer :wiki_post_id
  end
end