Ruby on Rails 5.2 - ActiveRecord::MismatchedForeignKey

वर्ग ActiveRecord :: MismatchedForeignKey




ruby

वर्ग ActiveRecord :: MismatchedForeignKey

जनक:
ActiveRecord::StatementInvalid

उठाया जब एक विदेशी कुंजी बाधा जोड़ा नहीं जा सकता क्योंकि स्तंभ प्रकार संदर्भित स्तंभ प्रकार से मेल नहीं खाता।

पब्लिक क्लास के तरीके

नया (अनुकूलक = शून्य, संदेश: शून्य, तालिका: शून्य, विदेशी_की: शून्य, लक्ष्य_रूप: शून्य, प्राथमिक_की: शून्य) स्रोत दिखाएँ
# File activerecord/lib/active_record/errors.rb, line 120
    def initialize(adapter = nil, message: nil, table: nil, foreign_key: nil, target_table: nil, primary_key: nil)
      @adapter = adapter
      if table
        msg = <<-EOM.strip_heredoc
          Column `#{foreign_key}` on table `#{table}` has a type of `#{column_type(table, foreign_key)}`.
          This does not match column `#{primary_key}` on `#{target_table}`, which has type `#{column_type(target_table, primary_key)}`.
          To resolve this issue, change the type of the `#{foreign_key}` column on `#{table}` to be :integer. (For example `t.integer #{foreign_key}`).
        EOM
      else
        msg = <<-EOM.strip_heredoc
          There is a mismatch between the foreign key and primary key column types.
          Verify that the foreign key column type and the primary key of the associated table match types.
        EOM
      end
      if message
        msg << "\nOriginal message: #{message}"
      end
      super(msg)
    end
सुपरक्लास पद्धति को कॉल करें ActiveRecord::StatementInvalid.new