1
0
This repository has been archived on 2023-12-07. You can view files and clone it, but cannot push or open issues or pull requests.
body_tracking/db/migrate/001_create_schema.rb
cryptogopher 8e8160c41a Renamed Ingredient -> Food
Ingredient is now part of composition (meal/recipe/dish)
2020-04-14 19:44:19 +02:00

104 lines
2.5 KiB
Ruby

class CreateSchema < ActiveRecord::Migration
def change
create_table :units do |t|
t.references :project
t.string :name
t.string :shortname
t.timestamps null: false
end
create_table :quantities do |t|
t.references :project
t.integer :domain
t.string :name
t.string :description
# fields for awesome_nested_set
t.references :parent
t.integer :lft, null: false, index: true
t.integer :rgt, null: false, index: true
t.timestamps null: false
end
create_table :formulas do |t|
t.references :quantity
t.string :code
t.boolean :zero_nil
t.references :unit
t.timestamps null: false
end
create_table :quantity_columns do |t|
t.references :column_view, polymorphic: true
t.references :quantity
end
create_table :sources do |t|
t.references :project
t.string :name
t.text :description
t.timestamps null: false
end
create_table :foods do |t|
t.references :project
t.string :name
t.text :notes
t.decimal :ref_amount, precision: 12, scale: 6
t.references :ref_unit
t.integer :group
t.references :source
t.string :source_ident
t.boolean :hidden
t.decimal :ready_amount, precision: 12, scale: 6
t.timestamps null: false
end
create_table :nutrients do |t|
t.references :food
t.references :quantity
t.decimal :amount, precision: 12, scale: 6
t.references :unit
t.timestamps null: false
end
create_table :measurement_routines do |t|
t.references :project
t.string :name
t.text :description
t.timestamps null: false
end
create_table :measurements do |t|
t.references :routine
t.references :source
t.text :notes
t.timestamp :taken_at
t.timestamps null: false
end
create_table :readouts do |t|
t.references :measurement
t.references :quantity
t.decimal :value, precision: 12, scale: 6
t.references :unit
t.timestamps null: false
end
create_table :meals do |t|
t.references :project
t.text :notes
t.timestamp :eaten_at
t.timestamps null: false
end
create_table :ingredients do |t|
t.references :composition, polymorphic: true
t.references :food
t.references :part_of
t.decimal :ready_ratio, precision: 12, scale: 6
t.decimal :amount, precision: 12, scale: 6
t.timestamps null: false
end
end
end