class Alpha

Public Instance Methods

change() click to toggle source
# File lib/statements/migrations/00_alpha.rb, line 2
def change

  create_table :documents do |t|
    t.string :path
    t.string :md5, limit: 32

    t.timestamps null: true

    t.index :md5, unique: true
  end

  create_table :accounts do |t|
    t.string :name
    t.string :number

    t.timestamps null: true

    t.index [:name, :number], unique: true
  end

  create_table :transactions do |t|
    t.references :document
    t.references :account
    t.integer :document_line
    t.datetime :transacted_at, null: true
    t.datetime :posted_at, null: true
    t.string :description
    t.decimal :amount, precision: 13, scale: 2
    t.decimal :balance, precision: 13, scale: 2
    t.decimal :foreign_amount, precision: 13, scale: 2
    t.string :foreign_currency, limit: 3
    t.string :colour, limit: 20, default: 'white'

    t.string :checksum, limit: 40

    t.timestamps null: true

    t.index [:document_id, :document_line], unique: true
  end

end