Como adicionar chave estrangeira na migração de trilhos com nome de tabela diferente

Como posso atribuir um nome de tabela diferente com a adição de chave estrangeira. por ex.

Eu tenho um modelo como

class MyPost < ActiveRecord::Base
  has_many :comments, class_name: PostComment
end

class PostComment < ActiveRecord::Base
  belongs_to :post, class_name: MyPost
end

Agora eu quero alterar meu arquivo de migração assim:

class CreatePostComments < ActiveRecord::Migration
  def change
    create_table :post_comments do |t|
     t.belongs_to :post, index: true
     t.timestamps null: false
    end
    add_foreign_key :post, :class_name => MyPost
  end
end 

Mas isto não está funcionando. A migração está sendo cancelada. Como altero meu arquivo de migração para funcionar com minha estrutura de modelo.

questionAnswers(2)

yourAnswerToTheQuestion