Как создать функцию MySQL в тестовой базе данных рельсов? - PullRequest
4 голосов
/ 09 сентября 2011

Я написал функцию Mysql для моего приложения rails и добавил ее в свою базу данных вручную. Когда я хочу протестировать функцию с помощью Rails UNIT, она проходит через ошибки, как показано ниже

ActiveRecord::StatementInvalid: Mysql::Error: FUNCTION mydatabase.fn_Sample_Function does not exist:

Как добавить функцию из набора тестов или начала тестового прогона?

Заранее спасибо, Ааа.

1 Ответ

1 голос
/ 09 сентября 2011

Я не вижу ошибки. Но я предполагаю, что проблема в формате вашей схемы.

config.active_record.schema_format = :sql

в application.rb должно быть то, что вам нужно сделать.

Причиной этого является то, что по умолчанию ваша тестовая база данных создается не из дампа базы данных только для схемы, а из db / schema.rb - который ничего не знает о функциях mysql.

в формате схемы sql будет выполняться mysqldump (или pg_dump) с установленным в true флагом только для схемы и создается файл development_structure.sql.

...