Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Problemas e erros da chave primária do Rails 4 MySQL bigInt


Eu consertei escrevendo a migração com a execução do SQL assim:
    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

Observe o executar declaração @ linha 12. Enquanto eu estava lá, eu também mudei o campo "data" para um timestamp, que eu pretendia fazer originalmente de qualquer maneira. Não é bonito e viola a "convenção", mas funciona perfeitamente, então posso seguir em frente. Obrigado por olhar.