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

Rails 4 MySQL bigInt primære nøgleproblemer og fejl

Jeg fiksede det ved at skrive migreringen med SQL-udførelse som sådan:

    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

Bemærk udfør statement @ linje 12. Mens jeg var derinde, ændrede jeg også "dato"-feltet til et tidsstempel, hvilket jeg havde tænkt mig at gøre oprindeligt alligevel. Det er ikke kønt og overtræder "konventionen", men det fungerer perfekt, så jeg kan komme videre. Tak fordi du kiggede.




  1. kunne ikke indstille en feltværdi med refleksionsindstiller

  2. Hvornår er Class.forName nødvendig, når der oprettes forbindelse til en database via JDBC i en webapp?

  3. Spotlight Cloud-sikkerhedsfunktion - Fjern bogstaver

  4. Transaktionsisolering i PostgreSQL