Skip to content

Instantly share code, notes, and snippets.

@rparker
Created September 3, 2009 20:07
Show Gist options
  • Save rparker/180510 to your computer and use it in GitHub Desktop.
Save rparker/180510 to your computer and use it in GitHub Desktop.
class CreateDispos < ActiveRecord::Migration
def self.up
create_table :dispos do |t|
t.integer :property_id, :null => false # fk
t.string :state
t.string :first_name
t.string :middle_name
t.string :last_name
t.string :name_suffix
t.string :phone
t.integer :address_id
t.decimal :monthly_rent, :precision => 8, :scale => 2
t.decimal :monthly_late_fee, :precision => 8, :scale => 2
t.string :back_rent_list # stringified list: [550.0,8/2009], ...
t.decimal :total_rent_owed, :precision => 8, :scale => 2 # sum of list
# Status and process tracking
t.integer :version
t.integer :lock_version
t.integer :created_by, :null => false
t.integer :submitted_by
t.datetime :created_at, :null => false
t.boolean :cancelled
t.datetime :cancel_and_satisfy_on # huh?
t.boolean :deleted
t.datetime :cancelled_on
t.integer :cancelled_by
t.integer :modified_by
t.datetime :modified_at
t.integer :assigned_to
t.boolean :completed
# Workflow
t.integer :status
t.datetime :filed_on
t.integer :service_method_idx
t.datetime :served_on
t.datetime :consent_due_on
t.boolean :holdover
t.integer :answer_status
t.datetime :court_date
t.datetime :court_modified_on
t.datetime :judgement_modified_on
t.datetime :final_modified_on
t.integer :writ_status_idx
t.datetime :writ_available_on
t.datetime :writ_modified_on
t.datetime :billed_on
t.datetime :comply_on
t.integer :evict_status
# References to other systems
t.decimal :dispo_invoice_amt, :precision => 8, :scale => 2 # ID or Amt?
t.string :legal_po_string
t.integer :case_number
t.integer :case_2_number
t.string :writ_po_id_string
t.integer :invoice_id
t.string :bankrupt_case_id_string
# Printing
t.datetime :dismissal_printed_on
t.string :print_judgement # bool?
t.integer :print_writ # bool?
t.datetime :reported_on
t.string :property_notes, :limit => 256
t.string :css_notes, :limit => 256
# Who
t.string :writ_who
t.string :court_who
t.string :judgement_who
t.string :evict_who
t.string :final_who
t.string :writ_who
# Charges
t.decimal :dispo_fee, :precision => 8, :scale => 2
t.decimal :admin_fee, :precision => 8, :scale => 2
t.decimal :trip_charge, :precision => 8, :scale => 2
t.decimal :total_charge, :precision => 8, :scale => 2
t.decimal :atty_fee, :precision => 8, :scale => 2
t.decimal :amount_paid, :precision => 8, :scale => 2
t.decimal :evict_charge, :precision => 8, :scale => 2
end
Dispo.create_versioned_table
create_table :dispo_names do |t|
t.integer :dispo_id
t.string :first_name1, :limit => 4
t.string :first_name2, :limit => 4
t.string :last_name1, :limit => 4
t.string :last_name2, :limit => 4
t.string :address1, :limit => 4
t.string :address2, :limit => 4
end
end
def self.down
drop_table :dispos
drop_table :dispo_names
Dispo.drop_versioned_table
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment