26 lines
1.4 KiB
Ruby
Executable File
26 lines
1.4 KiB
Ruby
Executable File
class CreateSaleItems < ActiveRecord::Migration[5.1]
|
|
def change
|
|
create_table :sale_items, :id => false do |t|
|
|
t.string :sale_item_id, :limit => 16, :primary_key => true#custom primary key - to ensure consistence for cloud syncing
|
|
t.string :sale_id, foreign_key: true, :limit => 16, :index => true
|
|
t.string :menu_category_code, :null => false, :limit => 100
|
|
t.string :menu_category_name, :limit => 100, :index => true
|
|
t.string :product_code, :null => false
|
|
t.string :item_instance_code
|
|
t.string :product_name, :null => false
|
|
t.string :product_alt_name
|
|
t.integer :account_id, :index => true, :limit => 8, :null => false, :default => 1
|
|
t.string :status, :index => true
|
|
t.string :remark, :index => true
|
|
t.decimal :qty, :index => true, :precision => 10, :scale => 2, :null => false, :default => 0.00
|
|
t.decimal :unit_price, :index => true, :precision => 10, :scale => 2, :null => false, :default => 0.00
|
|
t.decimal :taxable_price, :index => true, :precision => 10, :scale => 2, :null => false, :default => 0.00
|
|
t.decimal :price, :index => true, :precision => 10, :scale => 2, :null => false, :default => 0.00
|
|
t.boolean :is_taxable, :index => true, :null => false, :default => true
|
|
|
|
t.timestamps
|
|
end
|
|
add_index :sale_items, [:sale_id, :account_id, :status, :remark, :qty, :unit_price, :taxable_price, :price, :is_taxable], name: 'index_sale_items'
|
|
end
|
|
end
|