Вы можете использовать это
DB::enableQueryLog();
\App\Visitor::create(['key' => 'value', ....]);
$data = DB::getQueryLog();
$query = str_replace(array_fill(0, count($data[0]['bindings']), '?'), $data[0]['bindings'], $data[0]['query']);
dd($query);
Oracle имеет бесплатное «Экспресс-издание». Он не обладает всеми функциональными возможностями Oracle, но если вы также используете Jet, тогда это не должно быть проблемой.
Что мы делаем Вот (в основном) виртуальная машина для каждой требуемой конфигурации, мы также нацелены на разные операционные системы, поэтому имеем примерно 22 конфигурации, которые мы тестируем. Эти виртуальные машины размещены на сервере ESX, и их сценарии запускаются и останавливаются при необходимости, так что они не все работают одновременно. Было много работ по настройке.
С точки зрения стоимости серверов баз данных,
С точки зрения архитектуры, может быть лучше создать ферму тестирования интеграции серверов, которые достаточно мощны для запуска различных по конфигурации виртуальных машин. Он может быть запущен процессом очереди, прослушивающим запросы на интеграционное тестирование (которое может быть запущено с помощью SVN-коммитов или других проверок контроля источника в триггерах).
Для наиболее точного диапазона тестирования вы, вероятно, захотите иметь отдельную виртуальную машину для каждая конфигурация. Это снизит риск конфликтующих конфигураций, а также увеличит гибкость запуска настраиваемого набора виртуальных машин (например, Oracle + MySQL + PostgreSQL, а не других и т. Д.). В зависимости от вашего процесса сборки, это также может позволить вам запускать 10-минутные сборки.
Преимущество запуска интеграционной тестовой фермы состоит в том, что если вы находитесь в дороге, используя свой ноутбук, вы можете запустить интеграционную сборку после регистрации кода, запустить все тесты и уведомить вас о результатах. Вы также можете архивировать каждый запрос и результаты, чтобы помочь диагностировать сбойные сборки.
It sounds like you have a good idea of what to do already. I'd suggest the following VM layouts:
A Windows Server 2008 box hosting the following:
On an Ubuntu or Red Hat box:
I don't see any need to test against the full blown SQL and Oracle editions. The free editions are stripped down, so there is very little risk of that code breaking when you run it against the full version of those servers. If you had tested against the full server and went down to the free stuff, then yes some things might break, but by testing with the least common denominator, you should ensure good quality.
Oracle license excerpt:
We grant you a nonexclusive, nontransferable limited license to use the programs only for the purpose of developing, testing, prototyping and demonstrating your application, and not for any other purpose.
So, you can download full Oracle versions 9, 10 and 11 and use them free of charge as stated in license. Проверьте раздел загрузок на www.oracle.com