Mysql
 sql >> Database >  >> RDS >> Mysql

Problemi ed errori della chiave primaria di Rails 4 MySQL bigInt

L'ho risolto scrivendo la migrazione con l'esecuzione SQL in questo modo:

    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

Nota il esegui dichiarazione @ riga 12. Mentre ero lì, ho anche cambiato il campo "data" in un timestamp, cosa che volevo comunque fare originariamente. Non è carino e viola la "convenzione" ma funziona perfettamente, quindi posso andare avanti. Grazie per la ricerca.