Я немного повеселился с Джруби, но у меня проблемы с развертыванием моего приложения на EngineYard. При развертывании я получаю следующую ошибку:
ActiveRecord::JDBCError: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(2147483647) DEFAULT NULL' at line 1: ALTER TABLE `iterations` CHANGE `points` `points` longtext(2147483647) DEFAULT NULL
Хотя мой database.yml использует SQLITE, а не MySQL. Файл миграции указан как:
class ChangePointsToLongtext < ActiveRecord::Migration
def up
change_column :iterations, :points, :longtext
end
def down
change_column :iterations, :points, :text
end
end
Я почти уверен, что это change_column
- я пробовал t.change
и искал другие синтаксические изменения. Я думаю, что это может быть проблема с версией Jruby, работающей на EngineYard - которую я не могу обновить.
Мой GemFile выглядит так:
platforms :jruby do
gem 'jruby-openssl'
gem 'trinidad'
gem 'activerecord-jdbc-adapter'
gem 'activerecord-jdbcmysql-adapter'
gem 'jdbc-mysql', :require => false
gem 'jdbc-sqlite3', :require => false
end
Так что я считаю, что у меня загружены все соответствующие драгоценные камни, чтобы создать базу данных под Jruby, хотя я могу быть очень неправ! Я думаю, что мне просто нужна альтернатива change_column
Кто-нибудь сталкивался с подобной проблемой? Или есть какие-либо советы по изменениям? любая помощь всегда ценится!
Спасибо
С