sql >> Database >  >> RDS >> Mysql

Primaire sleutelproblemen en fouten van Rails 4 MySQL bigInt

Ik heb het opgelost door de migratie met SQL-uitvoering als volgt te schrijven:

    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

Let op de uitvoeren statement @ line 12. Terwijl ik daar was, heb ik ook het veld "datum" gewijzigd in een tijdstempel, wat ik oorspronkelijk toch van plan was te doen. Het is niet mooi en schendt "conventie", maar het werkt perfect, dus ik kan verder gaan. Bedankt voor het kijken.




  1. Grotere SQL-bestanden importeren in MySQL

  2. Werken met MyISAM in MySQL

  3. PDO-databaseklasse gebruiken zonder elke keer een nieuwe verbinding te maken?

  4. gebruik php variabele in naam van mysql create table