Coldfusion Report Builder великолепен.
Одна маленькая проблема. Мы используем ANT + CFANT для развертывания.
Когда мы создаем отчет, скажем, в источнике данных MyApp_dev в поле разработчика.
Другой наш сервер - это производственный сервер. Он также содержит промежуточную сборку, которая гарантирует, что все идет гладко, прежде чем мы публикуем вживую. (спасибо Аль Эверетту за доведение этого разъяснения до моего сведения.)
Все отлично работает при создании отчета.
Мы развернули отчет на нашем промежуточном сервере, который имеет источник данных MyApp_Staging. Этот сервер также может иметь или не иметь работающее приложение, работающее под MyApp_Live. Муравей выдвигает обновление для Staging просто замечательно.
Запустить отчет, вылетает и горит. Зачем?
Похоже, что отчет ищет источник данных MyApp_Dev, хотя приложение использует источник данных MyApp_Staging.
При копании вокруг я нашел несколько подходов, и я хотел бы сделать этот, последний, идеальный путь с самого начала, вместо того, чтобы возвращаться к тому, чтобы делать десятки отчетов по-другому, когда у меня новый Aha! момент.
1) Очевидное: Передать источник данных в тег cfreport . Не работает для отчетов ColdFusion Builder начиная с v8 или v9, как было протестировано в Linux.
2) Наиболее реалистичный вариант (но болезненный) до сих пор: Передать запрос как объект в отчет ColdFusion Builder. Давайте подумаем об этом:
- Создайте отчет с помощью построителя отчетов, насколько мне нравится, используя RDS и т. Д. В моем локальном окне.
- Когда я закончу, скопируйте запрос во фрагмент кода или в столбец базы данных, чтобы динамически вводить его во время выполнения с правильным источником данных.
- Измените мое событие "run report", чтобы найти запрос из столбца базы данных, вставить его в другой динамический cfquery и, возможно, ... оценить (!?!) Его? Самое интересное, что я могу установить для источника данных cfquery то, что мне нужно для каждой среды.
- Когда я изменяю столбцы отчета в CF Report Builder, мне всегда приходится обновлять запрос в базе данных. Есть ли фрагмент кода, который может извлечь это для меня? Хм.
3) Меньше, чем идеал. Смиритесь с этим, и все промежуточные отчеты запускаются с живого сервера. Возможно скопируйте живые данные в стадию (без структурных изменений), чтобы они казались похожими.
Существуют ли красноречивые способы для достижения вышеизложенного?
Заранее спасибо!