|
|
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Если вы предпочитаете проектировать БД в текстовом редакторе, то эта программа для вас. Тут имеется подсветка синтаксиса, многооконный интерфейс, дерево каталогов и файлов файловой системы, поиск в окне, поиск в каталоге. Работа на данный момент организована со скриптами MS SQL Server и MySQL. Есть возможность доработать для любого сервера, мне пока понадобились эти два. Скажете, а зачем еще один редактор SQL, их уже полно. Отвечу, тут есть одна фича, которой я не встречал нигде и без которой я не представляю себе разработку БД. В некотором виде эта фича появилась в Visual Studio, но она еще далека от идеала. Так вот, фича заключается в том, что программа позволяет организовать загрузку скрипт в БД одним нажатием кнопки. При этом скрипт, представляющий собой создание таблиц, вьюх, процедур, функций и триггеров заливается в БД не ломая ее. При этом БД может быть уже используемой приложением, то есть там уже есть таблицы с пользовательскими данным, есть хранимые процедуры и т.д. Фича данного редактора в том, что он смотрит что есть в БД и модифицирует имеющиеся объекты БД не теряя пользовательские данные. Например, я веду разработку следующего кода в своем редакторе Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. загрузил скрипт в БД, написал клиентское приложение и внедрил его. Пользователи активно работают, во всю используют приложение. И тут возникла необходимость добавить поле в таблицу. Добавляю Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Нажал кнопку и залил изменения в БД. В таблицу добавилось поле, а хранимые процедуры пересоздались, пользовательские данные остались в таблице. И при этом это всё выполнилось в единой транзакции, что означает, что если при пересоздании таблицы возникла ошибка, то процедуры то не изменятся. И при этом пользователи могут продолжат работать не отключаясь от сервера, если конечно пользовательское приложение не нужно будет обновить. Кроме того можно компилировать (заливать в БД) не только один файл (не только лишь один файл, но мало кто это может :) (с) но и папку целиком и даже проект целиком. И это еще не все. В начале каждого файла скрипта можно написать строчку include=.\Bank.sql и тогда перед компиляцией файла Company.sql будет выполнена компиляция файла Bank.sql Словом компиляция я называю заливку скрипта в БД. Таким образом можно организовать очередность выполнения скриптов/зависимость скриптов друг от друга. Программа поставляется бесплатно, как есть с целью ее распространения и тестирования. Любые предложения и пожелания приветствуются. Загрузить SQLEditor -------------------- Не учи отца и баста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 09:40 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Прикольная возможность (судя по описанию). А физически как это происходит ? Сравниваются структуры таблиц и делается умный скрипт пересоздания и переливки данных ? У меня это ручные скрипты вида: * Переименовать старую таблицу * Создать новую * Перелить данные * Грохнуть переименованную таблицу * Создать индексы (профит) примерно так делает штатный SSMS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 09:54 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
постоянный мембер, Также и я сделал, поэтому данный редактор не подойдет для мегабольших БД с огромным числом активных коннекций. А вот для маленьких и средненьких проектов вещь незаменимая. Вот бы еще к SVN подключить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 09:56 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Old Nickпри этом пользователи могут продолжат работать не отключаясь от сервера И MS SQL позволяет переименовать таблицу и потом её грохнуть не отключая пользователей, которые с ней уже работают?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 11:01 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovOld Nickпри этом пользователи могут продолжат работать не отключаясь от сервера И MS SQL позволяет переименовать таблицу и потом её грохнуть не отключая пользователей, которые с ней уже работают?.. Да, представь себе, позволяет. Может слышал что-нибудь про транзакции и многопользовательский режим работы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 11:56 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovOld Nickпри этом пользователи могут продолжат работать не отключаясь от сервера И MS SQL позволяет переименовать таблицу и потом её грохнуть не отключая пользователей, которые с ней уже работают?.. Зависит от того, что понимать под "работают" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 12:05 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Old NickДа, представь себе, позволяет. Может слышал что-нибудь про транзакции и многопользовательский режим работы? И что происходит с данными, добавленными в таблицу уже после того, как Ваш редактор её переименовал и начал переливать данные? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 12:09 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovOld NickДа, представь себе, позволяет. Может слышал что-нибудь про транзакции и многопользовательский режим работы? И что происходит с данными, добавленными в таблицу уже после того, как Ваш редактор её переименовал и начал переливать данные? Иди изучай многопользовательский режим работы СУБД, кури мануалы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 13:02 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Old Nick, ну все это есть в SSDT + графика и много чего вплоть до svn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 13:15 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
ViPRos, Да, там это есть, но немного не дотягивает. 1. Выстроить очередность скриптов в нужной последовательности нельзя 2. Скрипты обновления таблиц (перезаливки данных) вынесены из транзакции. То есть весь пакет в одной транзакции не сделать, нужно ручками скрипт править 3. Скрипт формируется для конкретной БД по сравнительной схеме, для другой БД нужно заново читать текущую версию и загружать ее в схему XML 4. Это всё есть только для MS SQL Server У меня пока реализация для MS SQL и для MySQL, но есть возможность сделать и для FireBird и для Oracle и вообще для любой. Надо просто добавить модуль и перекрыть несколько методов. Вот если поступят заявки, то сделаю, а так я добавляю только для себя по мере надобности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 14:41 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Old Nickесть возможность сделать и для FireBird и для Oracle Нету. У Оракула вообще нет транзакционного DDL, а у Firebird он глючит в сочетании с DML. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 14:58 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Old Nickесть возможность сделать и для FireBird и для Oracle и вообще для любой.В курсе что в oracle ddl предложения коммитятся автоматически, и все связанные скажем с дропнутой таблицей процедуры/пакеты инвалидируются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 14:59 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
ГхостикOld Nickесть возможность сделать и для FireBird и для Oracle и вообще для любой.В курсе что в oracle ddl предложения коммитятся автоматически, и все связанные скажем с дропнутой таблицей процедуры/пакеты инвалидируются? Не в курсе, я же говорю, что еще не сделал. У MySQL тоже с этим есть проблемы, но чаще всего прокатывает нормально. Ну что ж, значит будем выкручиваться, что-нибудь придумаем, на то и голова есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 16:40 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Похоже никто не понял что это такое. Попробуем на примере. Работал я в одной конторе, там разрабатывали проект на SQL, почти вся логика в БД. Несколько человек работают над одним проектом. У каждого своя копия БД, добавляют таблицы, правят таблицы, переписывают хранимки и т.д. Потом наступаем время Ч и нужно выпустить релиз и тут начинается. 1. Каждый готовит скрипт того, чего он наделал. 2. Собирают скрипты в кучу 3. С рабочей базы снимают бекап, делают копию. 4. Накатывают туда скрипт. 5. Тестируют на ошибки 6. Правят скрипт и тестируют 5 и 6 пункты повторяют до победного. Чаще всего на подготовку релиза уходило больше времени, чем на разработку логики. А как у вас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 12:58 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Old NickА как у вас? А у нас разработкой БД занимается один архитектор. Причём делает он это ДО того, как разработчики начинают лепить к ней фронтэнды. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 13:12 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, И как он это делает, неизвестно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 13:41 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Old NickИ как он это делает, неизвестно? Обычно он это делает с помощью мозга, а не шустрых лапок. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 13:54 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Old NickЧаще всего на подготовку релиза уходило больше времени, чем на разработку логики.системы контроля версий? интеграционное тестирование? современные средства разработки? - не, не слышали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 14:17 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Old NickА как у вас?У нас внедряется техника canary release . А пока это происходит, то следуем идее feature per branch . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 15:12 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Old NickПохоже никто не понял что это такое. ... Чаще всего на подготовку релиза уходило больше времени, чем на разработку логики.Непонятно, каким образом "это" уменьшает время на подготовку релиза? Кроме как экономии времени на подготовку первого скрипта, ничего не нахожу. Лучше использовать не такие причудливые технологии, а старую добрую традицию разработки с использованием средств разработки, с хранением исходников в сорс-контроле, связанными с задачами, тестами и т.д. Кстати, для маленьких и простых баз MS выпустило чудесное средство, которое тоже само умеет обновлять модель БД. Это даже ещё удобнее, хотя и с ограниченными возможностями. SQL Server Data Tools (SSDT) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 21:20 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovА у нас разработкой БД занимается один архитектор. Причём делает он это ДО того, как разработчики начинают лепить к ней фронтэнды.Сферическая база в вакууме? Обычно проектирование БД и программирование происходят во время эксплуатации системы, больше того, бывает, выставляется требование непрерывности обслуживания пользователей (нет окон на обслуживание, апгрейд версии). И ещё бывает, что разработкой базы занимается не один человек, поскольку одинпросто не справится. Так что эти рассказы: - аналитик написал требования, согласовал, уволился, требования больше не меняются - архитектор БД создал модель, уволился, модель больше не меняется - проектировщих спроектировал... ... - служба эксплуатации эксплуатирует приложение, никаких изменений не делается, нет нужды архитектору БД что то проектировать ПОСЛЕ того, разработчики налепили к ней фронтэнды это либо чистые фантазии, либо госпопил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 21:49 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
alexeyvgOld NickПохоже никто не понял что это такое. ... Чаще всего на подготовку релиза уходило больше времени, чем на разработку логики.Непонятно, каким образом "это" уменьшает время на подготовку релиза? Кроме как экономии времени на подготовку первого скрипта, ничего не нахожу. Лучше использовать не такие причудливые технологии, а старую добрую традицию разработки с использованием средств разработки, с хранением исходников в сорс-контроле, связанными с задачами, тестами и т.д. Кстати, для маленьких и простых баз MS выпустило чудесное средство, которое тоже само умеет обновлять модель БД. Это даже ещё удобнее, хотя и с ограниченными возможностями. SQL Server Data Tools (SSDT) Попробую пояснить. "Это" на подготовку релиза время вообще не тратит. ВООБЩЕ! То есть, когда начинаете проектировать базу, то просто напросто пишете скрипт для новой базы. Только CREATE (только хардкор :), никаких ALTER и IF EXISTS. CREATE TABLE, CREATE VIEW, CREATE TRIGGER, CREATE PROCEDURE, CREATE FUNCTION Затем нажимаете одну (1) ОДНУ кнопку и база создана. Теперь Вы внесли изменения в структуру. Для этого нужно просто переписать CREATE TABLE или CREATE PROCEDURE, в зависимости от того, что изменилось. И опять нажимаете ОДНУ кнопку, структура изменилась. И при этом не важно какая это была база. Тестовая, тестовая у коллеги, продакшн или база от другого приложения. Теперь она рабочая и актуальная. Не нужно сравнивать версии, не нужно трястить над пользовательскими данными. Данные не потеряются, версия станет последняя и актуальная. Всего одна кнопка! Что может быть проще? И при этом исходники могут лежать в SVN и можно вести многопользовательскую разработку. Еще раз. В скриптах пишете всегда только CREATE и никогда ALTER. При компиляции никогда не проверяете, что есть в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2015, 09:03 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Old Nick Еще раз. В скриптах пишете всегда только CREATE и никогда ALTER. При компиляции никогда не проверяете, что есть в базе. Т.е. из двух скриптов Код: sql 1. Код: sql 1. Оно создаст таблицу (A, B, С)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2015, 09:21 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинOld NickЕще раз. В скриптах пишете всегда только CREATE и никогда ALTER. При компиляции никогда не проверяете, что есть в базе. Т.е. из двух скриптов Код: sql 1. Код: sql 1. Оно создаст таблицу (A, B, С)? Нет, актуальной будет последняя таблица ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2015, 09:37 |
|
||
|
Представляю вашему вниманию SQL Editor собственной разработки
|
|||
|---|---|---|---|
|
#18+
Old Nick, Т.е. даже в том случае, когда при стандартной технологии с ALTER я не получил бы вообще никаких проблем - Ваша технология подготовки релиза и Ваш инструмент мне их создаст? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2015, 09:58 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38948497&tid=1540544]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 264ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...