sql >> Databáze >  >> RDS >> Mysql

Problémy a chyby primárního klíče Rails 4 MySQL bigInt

Opravil jsem to napsáním migrace s provedením SQL takto:

    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

Všimněte si provedení příkaz @ řádek 12. Když jsem tam byl, také jsem změnil pole "datum" na časové razítko, což jsem stejně původně chtěl udělat. Není to hezké a porušuje to "konvence", ale funguje to perfektně, takže mohu pokračovat. Děkujeme, že jste se podívali.




  1. Prázdná stránka na straně správce Opencart

  2. Je možné v postgreSQL použít proměnnou a nespecifikovat návratový typ?

  3. SQLSTATE[23000]:Porušení omezení integrity:1452 Nelze přidat nebo aktualizovat podřízený řádek:omezení cizího klíče se nezdaří

  4. Oprava „ERROR:  sloupec „colname“ neexistuje“ v PostgreSQL při použití UNION, EXCEPT nebo INTERSECT