Я использую Ruby on Rails 3.0.7 Cucumber 1.0.1 и Oracle в качестве базы данных. У меня есть собственный локальный пользователь / схема для моей базы данных разработки, но я также подключаюсь к другой базе данных Oracle только для чтения. Кто-то в моей работе создал драгоценный камень, который позволяет мне общаться с этой другой базой данных и получать доступ к ее моделям. Допустим, мы называем эту другую базу данных Servo. Тогда я могу сделать что-то вроде Servo::ModelName.all
и все другие обычные звонки.
Oracle, генерируемый этим, выглядит примерно так: SELECT * FROM "SERVO"."MODELNAMES";
Обратите внимание, что он добавляет имя базы данных SERVO.
Теперь я пишу тест на огурец, который иногда в моих пользовательских шагах использует Servo. Это все работает отлично. В новом сценарии, который я пишу, используется тег @javascript
. Если какой-либо шаг (в фоновом режиме или в сценарии) не использует сервопривод, тогда он работает нормально. Однако, если я действительно использую сервопривод, он ломается. Сгенерированный Oracle SQL внезапно SELECT * FROM "MODELNAMES";
, и он больше не знает о другой базе данных.
Итак, есть идеи, почему это происходит? Почему @javascript
внезапно меняет генерируемый SQL? Я не смог найти хорошую документацию о том, что еще он делает, кроме запуска Firefox.
Я уверен, что другие, возможно, захотят узнать больше информации, но я не хотел задавать этот вопрос, так что просто дайте мне знать, если вам нужны более подробные сведения.