Problém je v tom, že databázový adaptér Rails Mysql2 se dusí, když je ve stejném spouštěcím bloku více příkazů SQL. Následující poběží dobře:
execute <<-SQL
ALTER TABLE properties
ADD name VARCHAR(255) NOT NULL;
SQL
execute <<-SQL
ALTER TABLE properties
ADD CONSTRAINT fk_properties_name
FOREIGN KEY (name)
REFERENCES valid_property_names (property_name);
SQL
Toto chování vás může zmást, pokud používáte PostgreSQL s Rails, protože adaptér Postgres nemá stejné omezení.