change transactional primary key to custom ID for better portability

This commit is contained in:
Min Zeya Phyo
2017-06-03 19:12:35 +06:30
parent 9dddd2fc78
commit 394d2ed938
16 changed files with 52 additions and 31 deletions

View File

@@ -1,13 +1,15 @@
class CreateSalePayments < ActiveRecord::Migration[5.0]
def change
create_table :sale_payments do |t|
t.references :sale, foreign_key: true
create_table :sale_payments, :id => false, :primary_key => :sale_payment_id do |t|
t.string :sale_payment_id, :limit => 16, :null => false, :index => true, :unique => true #custom primary key - to ensure consistence for cloud syncing
t.string :sale_id, foreign_key: true, :limit => 16
t.string :payment_method, :null => false, :default => "cash"
t.decimal :payment_amount, :precision => 10, :scale => 2, :null => false, :default => 0.00
t.decimal :outstanding_amount, :precision => 10, :scale => 2, :null => false, :default => 0.00
t.string :payment_reference
t.string :payment_status, :null => false, :default => "new"
t.timestamps
end
end