Skip to content

rake attachinary:install:migrations -> Index table names are too long #154

Open

Description

@mklb

After running rake attachinary:install:migrations I get the following output

WARNING: Use strings for Figaro configuration. 587 was converted to "587".
== 20171127085142 CreateAttachinaryTables: migrating ==========================
-- create_table(:attachinary_files)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

Index name 'index_attachinary_files_on_attachinariable_type_and_attachinariable_id' on table 'attachinary_files' is too long; the limit is 63 characters

Activity

  1. mklb commented on Nov 27, 2017

    @mklb
    Author

    The fix is to add an own index name to the attachinariable reference. t.references :attachinariable, polymorphic: true, index: {name: "index_attachinary_files_attachinariable"}. Also note that I added [5.1] to the ActiveRecord::Migration Class because it was missing. (I am running Rails 5.1 so add your version)

    class CreateAttachinaryTables < ActiveRecord::Migration[5.1]
      def change
        create_table :attachinary_files do |t|
          t.references :attachinariable, polymorphic: true, index: {name: "index_attachinary_files_attachinariable"}
          t.string :scope
    
          t.string :public_id
          t.string :version
          t.integer :width
          t.integer :height
          t.string :format
          t.string :resource_type
          t.timestamps
        end
        add_index :attachinary_files, [:attachinariable_type, :attachinariable_id, :scope], name: 'by_scoped_parent'
      end
    end
  2. lopezjurip commented on Dec 10, 2017

    @lopezjurip

    Thanks @mklb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions