यहां समस्या यह है कि जब एक ही निष्पादन ब्लॉक के भीतर कई SQL कमांड होते हैं तो Rails Mysql2 डेटाबेस एडेप्टर चोक हो जाता है। निम्नलिखित ठीक चलेंगे:
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
यह व्यवहार आपको भ्रमित कर सकता है यदि आप PostgreSQL का उपयोग रेल के साथ कर रहे हैं क्योंकि Postgres एडॉप्टर की समान सीमा नहीं है।