|
|
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
Добрый день ! Есть идея : использовать h2 database как базу для тестирования pl sql процедур . конкретно - есть куча процедур - с кучей бизнес логики под oracle и mysql их нужно как то тестировать . Вижу такой путь пишется приложение с кучей junit тестов . Тест представляет из себя : создание базы в памяти , загрузку требуемых скприптов для создания таблиц и загрузку в базу процедур . вопрос : поддерживает ли h2 database хранимые процедуры в стиле Mysql/ oracle ? как их туда грузить ? в примерах только код на java ?! http://h2database.googlecode.com/svn/trunk/h2/src/test/org/h2/samples/Function.java сами тесты . Псевдокод такой : Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. ~/resources/db_test/init.sql Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. тест красный ибо процедура не грузиться в базу . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 11:08 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
Atum1, H2 не поддерживает хранимые процедуры Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 13:12 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
WGA, как я понял ни оракла ни mysql / вообще ни каких не поддерживает , только код на java . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 13:26 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
Затея изначально была провальной. PL/SQL вообще не воспроизводится ни в каких альтренативных SQL-машинах. Это чисто Оракловая разработка и только DBMS семейства Oracle дадут возможность использовать ее для тестирования. Тоже самое вобщем-то можно сказать про Transact-SQL от MS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 13:34 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
Если база новая, я бы отказался от процедур. Разве что для аналитики, когда обрабатываются большие массивы данных. Размывание бизнес-логики по коду (часть в java, часть в pl sql), большие вопросы с версионностью - а оно надо? Даже отладить - уже вопросы возникают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 13:37 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
PLSQL прекрасно делает свои задачи на которые он был расчитан. И Java не является ему альтернативой по архитектурным причинам. Просто надо признать как факт что сегмент разработки Java увеличился стократно за десятилетие. А количество PL кодеров вобщем-то осталось старое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 13:56 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
maytonЗатея изначально была провальной. PL/SQL вообще не воспроизводится ни в каких альтренативных SQL-машинах. Это чисто Оракловая разработка и только DBMS семейства Oracle дадут возможность использовать ее для тестирования. Тоже самое вобщем-то можно сказать про Transact-SQL от MS. а как же mysql ? ну можно и не в памяти - можно и в родном mysql создавать , так же по такому принципу - создать базу - на залить в нее таблицы и процедурки - сделать Snapshot гонять вызов процедур в тесте . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 15:17 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
Вообще идея гонять все тесты на базе, которая не будет работать в production - изначально порочна, т. к. 100% совместимости нет нигде (самый простой пример - диапазоны типов), и выбрав H2, вы себя добровольно ограничиваете урезанным подмножеством стандарта SQL-92. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 11:57 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
Локшин МаркВообще идея гонять все тесты на базе, которая не будет работать в production - изначально порочна, т. к. 100% совместимости нет нигде (самый простой пример - диапазоны типов), и выбрав H2, вы себя добровольно ограничиваете урезанным подмножеством стандарта SQL-92. ну можно и на mysql/oracle гонять - и делать каждый раз Snapshot. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 14:26 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
Я уже 10 лет не вижу никакого смысла следовать стандартам Ansi-SQL-*. Никогда это не приносило никакой выгоды. Все разговоры о совместимости умирали вместе с первыми задачами разработки storage procedures. C проприетарными data-types. С первыми попытками анализа планов выполнения и решения проблем performance improovement. Куплена лицензия на Ораклы? - Поставьте себе локально OracleXE. Погоняйте там тесты. Потом - в продуктив. Забудьте навсегда это порочное слово Ansi SQL! Его нету! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 15:30 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
maytonЗабудьте навсегда это порочное слово Ansi SQL! Его нету! Обратите внимание: у автора поста уже в наличии 2 несовместимых сервера, и бизнес-логика (не аналитика!) в сохраненных процедурах. Оправдать это можно только legacy-кодом. Если это новая разработка, то, конечно, хозяин барин, но на первый взгляд, довольно сомнительное решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 16:27 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
ivanramaytonЗабудьте навсегда это порочное слово Ansi SQL! Его нету! Обратите внимание: у автора поста уже в наличии 2 несовместимых сервера, и бизнес-логика (не аналитика!) в сохраненных процедурах. Оправдать это можно только legacy-кодом. Если это новая разработка, то, конечно, хозяин барин, но на первый взгляд, довольно сомнительное решение Да вы правы - задачи интеграции(обмен данными) из одной базы в другую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 18:11 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
Atum1ну можно и на mysql/oracle гонять - и делать каждый раз Snapshot. Запустили пакет тестов. Создали базу тем или иным способом. Вставили 20 строчек в одном тесте. Что-то проверили. Почистили базу. Вставили 15 строчек в другом тесте. Проверили еще что-то... и т.д. Удалили базу. Зачем упражнения с H2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 10:02 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
Если у вас база используется как тупое хранилище данных типа dbf, а сверху все накрыто каким-нибудь ОРМ типа Hibernate'а, то возможно и есть смысл использовать H2 для ускорения тестов. В Вашем же случае Atum1 есть куча процедур - с кучей бизнес логики под oracle и mysql использование H2 - крайне сомнительное занятие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 10:07 |
|
||
|
h2 database как база для создания тестов
|
|||
|---|---|---|---|
|
#18+
Atum1ivanraпропущено... Обратите внимание: у автора поста уже в наличии 2 несовместимых сервера, и бизнес-логика (не аналитика!) в сохраненных процедурах. Оправдать это можно только legacy-кодом. Если это новая разработка, то, конечно, хозяин барин, но на первый взгляд, довольно сомнительное решение Да вы правы - задачи интеграции(обмен данными) из одной базы в другую. Задачи интеграции лучше решать не на уровне SP. Если нет требования к on-line интеграции - то лучше обмен данными через файлы. Если есть я бы пошел по пути JMS и прочих MQ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 10:54 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38892725&tid=2125744]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
184ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 543ms |

| 0 / 0 |
