मैंने इसे SQL निष्पादन के साथ माइग्रेशन लिखकर इस तरह ठीक किया:
class CreateAcctTransactions < ActiveRecord::Migration
def self.up
# create ACCT_TRANSACTIONS table
create_table "acct_transactions", id: false, force: true do |t|
t.integer "id", limit: 8, null: false
t.timestamp "date", null: false
t.text "description", limit: 255
t.decimal "amount", precision: 10, scale: 2, null: false
t.integer "account_id", limit: 8, null: false
t.integer "transaction_type_id", null: false
end
execute "ALTER TABLE acct_transactions ADD PRIMARY KEY (id);"
add_index "acct_transactions", ["account_id"], name: "fk_acct_transactions_accounts1_idx", using: :btree
add_index "acct_transactions", ["date", "id"], name: "BY_DATE", using: :btree
add_index "acct_transactions", ["transaction_type_id"], name: "fk_acct_transactions_transaction_types1_idx", using: :btree
end
def self.down
drop_table :acct_transactions
end
end
नोट करें निष्पादित करें स्टेटमेंट @ लाइन 12। जब मैं वहां था, मैंने "डेट" फ़ील्ड को टाइमस्टैम्प में भी बदल दिया, जिसका मतलब मूल रूप से वैसे भी करना था। यह सुंदर नहीं है और "कन्वेंशन" का उल्लंघन करता है, लेकिन यह पूरी तरह से काम करता है, इसलिए मैं आगे बढ़ सकता हूं। देखने के लिए धन्यवाद।