ActiveRecord::StatementInvalid: Mysql2::Error: Specified key was too long; max key length is 767 bytes

と言われた、確かにCircleCIでこれやったことなかったかも。

circle.ymlの中でsudo使えるので、以下のような設定を書いた。

dependencies:
  pre:
    - echo '[mysqld]' | sudo sh -c 'cat >>  /etc/mysql/my.cnf'
    - echo 'innodb_file_format=Barracuda' | sudo sh -c 'cat >>  /etc/mysql/my.cnf'
    - echo 'innodb_file_per_table=1' | sudo sh -c 'cat >>  /etc/mysql/my.cnf'
    - echo 'innodb_large_prefix=1' | sudo sh -c 'cat >>  /etc/mysql/my.cnf'
    - sudo service mysql restart

[mysqld]はなくてもいい(CircleCIデフォルトの/etc/mysql/my.cnf[mysqld]セクションが最後に来ているため)けど今後に備えて。
;で区切って1行にした方が、build画面が汚れないけど、ここでは保守性を重視。

参考