sql >> Base de Datos >  >> RDS >> Mysql

Errores y problemas de la clave principal de Rails 4 MySQL bigInt

Lo arreglé escribiendo la migración con ejecución SQL así:

    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

Tenga en cuenta la ejecutar declaración @ línea 12. Mientras estaba allí, también cambié el campo "fecha" a una marca de tiempo, lo que tenía la intención de hacer originalmente de todos modos. No es bonito y viola la "convención" pero funciona perfectamente, así que puedo seguir adelante. Gracias por mirar.