Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Задачка на подумать... ​

04.07.17 14:31
Задачка на подумать... ​
 
Murr патриот
Murr

Задачка на подумать...


Дано:

- производственный сервер, убивание которого крайне не желательно...

- вспомогательный сервер для тестирования - можно творить что угодно...

- бизнес-объекты (рукописные и генерируемые), функционирование которых нужно тестировать...


Ограничения:

- полную задачу вспомогательный сервер не тянет - нельзя перегнать полную базу и тестировать на вспомогательном сервере.


Требуется:

- протестировать функциональность бизнес-объектов.


Проблема: исходная база не содержит реляций между таблицами. Совсем. Есть индексы, но нет реляций.

Реляции задаются в достаточно неприятном СКЛ - только что убил полтора дня на заполнение данными вспомогательного сервера для тестирования ВСЕГО ДВУХ объектов.

Реляции - не полные. Есть много связок, которые, хотя и определяются как отношения в СКЛ-запросах, не могут быть реализованы как реляции в базе. Например, в связке используется только часть первичного ключа.


Вижу две задачи:

1. Получить сурогат реляций из запросов. Не(!) руками! И в виде, пригодном для определения в базе.

2. Организовать перегон данных с производственного сервера на вспомогательный (и/или в скрипты).


Во втором случае, меня интересует не полный перегон задействованных таблиц - это уже делается, а аккуратная фильтрация в соответствии с критериями в исходной задаче.

Т.е. если исходными данными является НомерЗаказа, то и данные нужны именно для данного заказа. При этом далеко не каждая из используемых таблиц будет непосредственно содержать НомерЗаказа, а кое-где НомерЗаказа будет давать ненужную избыточность - например, при 20 исправлениях заказа будет 19 избыточных версий.

Ну кроме этого еще желательно иметь три опции - с недостатком - когда копируются не все данные, с избытком - когда добавляются лишние, и точные - только нужные.


Как-то так.


Вопросы? Идеи?


П.С. Понимаю, что есть возможность часть работы переложить на МОСКи, но чтобы сгенерировать МОСКи надо решить указанные задачи.

 

Перейти на