У меня проблема с хранимыми процедурами и тестовой базой данных в Rails 3.0.7. При запуске
rake db: test: prepare
он переносит таблицы db из schema.rb, а не напрямую из миграций. Процедуры создаются в рамках миграций путем вызова метода execute и передачи строки SQL, такой как CREATE FUNCTION foo () ... BEGIN ... END;
.
Итак, после исследования я обнаружил, что вы должны использовать
config.active_record.schema_format =: sql
внутри application.rb
. После добавления этой строки я выполнил
rake db: structure: dump rake db: test: clone_structure
Первый должен выгружать структуру в файл development.sql
, а второй создает базу данных тестирования из этого файла. Но мои хранимые процедуры и функции по-прежнему не отображаются в базе данных тестирования. Если кто что-то знает по этому поводу.
Помощь будет принята с благодарностью.
Я также попробовал запустить rake db: test: prepare еще раз, но все равно без результатов.
MySQL 5.5, Rails 3.0.7, Ruby 1.8.7.
Заранее спасибо!