Het probleem hier is dat de Rails Mysql2-databaseadapter verslikt wanneer er meerdere SQL-opdrachten binnen hetzelfde uitvoeringsblok zijn. Het volgende werkt prima:
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
Dit gedrag kan u in verwarring brengen als u PostgreSQL met Rails gebruikt, aangezien de Postgres-adapter niet dezelfde beperking heeft.