Установка sql_mode с помощью Rails - PullRequest
1 голос
/ 26 декабря 2011

Я развертываю свое приложение rails на общем хосте, используя mysql. Однако во время разработки я использую базу данных sqlite. Мои запросы должны работать в обеих этих средах. Ранее я спрашивал о запросе с использованием concat, который работал бы в обеих базах данных: Может ли MySQL объединять строки с ||

Мне сказали, что я должен установить sql_mode в PIPES_AS_CONCAT или ANSI. Теперь мой вопрос, где и как мне установить sql_mode в моем приложении. Можно ли это сделать как инициализатор, чтобы не менять мой общий код?

Я попытался использовать фрагмент кода здесь: http://gabrito.com/post/configuring-mysql-sql-mode-in-ruby-on-rails,, но это не сработало - я предполагаю, что метод подключения с тех пор изменился, поскольку этот пост довольно старый.

Любая помощь очень ценится. Кстати, я использую рельсы 3.1.3.

1 Ответ

1 голос
/ 26 декабря 2011

Основное отличие, вероятно, в том, что вы, вероятно, используете адаптер mysql2 - вместо этого попробуйте перезаписать этот метод на ActiveRecord::ConnectionAdapters::Mysql2Adapter.

Лично я считаю, что использование разных баз данных при разработке и производстве вызывает проблемы (есливозможно, вы пишете что-то, предназначенное для работы в разных базах данных).Различия между базами данных могут быть незначительными, например, sqlite3 имеет довольно гибкое представление о типах столбцов - вы можете с радостью вставить> 255 символов в столбец, объявленный как VARCHAR(255), тогда как mysql будет обрезать данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...