?

Log in

No account? Create an account
Живёт такой парень.
Февраль 23, 2018
11:01 pm

[Ссылка]

Previous Entry Поделиться Next Entry
Продолжаем пилить МБД
Мой проект DBQuick странным образом похерился, оставив после себя какую-то промежуточную недоверсию на WinForms. А так как я плотненько работаю с WPF, решил переписать всё на новый лад - теперь это DBQuickie! Да-да, "сделаем это быстро". :) Приоритеты проекта всё те же - дать прогеру удобный инструмент, в котором 99% задач решаются максимум двумя кликами. Беда современных шлёпателей "Менеджеров Баз Данных" в том, что они тупиздически не понимают дуализма использования своего инструмента: бóльшая часть юзеров именно прогеры, а не "админы СУБД"! А прогер - он не занимается шардингом или инкрементными бэкапами - ему б побырому табличку посмотреть, колонку добавить, да запросов десяток наваять. А "роли", "схемы", "брокеры"... вы кому это всё вывалили?? Вот мы и имеем опухшие от функциональности "комбайны", где к велосипеду приделали сеялку, радар и соковыжималку - ни повару, ни радисту!
Но, довольно закидывать говном убогих - их и так жизнь наказала. Каламбуряндия Пикачукчерз представляет... базы данных на новый лад!



В принципе, я повторил всю ту же работу из старого DBQ, но фичастости сильно прибавилось. Просто перечислю:

  1. Можем создавать новые БД, (де)регистрировать существующие БД, сравнивать структуры двух БД.

  2. Экспортировать DDL схему, данные как SQL-INSERT скрипт, схему как C# классы, диаграмму БД.
  3. Одним кликом видеть таблицы/отображения. Так же просто открывать структуру/данные таблицы/отображения.
  4. Создавать/редактировать/удалять таблицы/представления/колонки, а так же описания (Description) к таблицам/колонкам.

  5. Редактировать подсвеченные SQL запросы, там же и intellisense с таблицами/колонками.
  6. Одной кнопкой создавать LEFT JOIN ко всем FK колонкам, что позволяет удобно выбирать сопутствующие данные.
  7. Шаблоны (snippets) для частых команд - INSERT, UPDATE, вставить все поля и т.п.
  8. Просмотр записей таблицы (с типами полей) и тут же их редактирование/дублирование с кастомными редакторами под каждый тип колонки.
  9. Логгирование изменений БД - полезно при создании "скрипта-обновлятеля базы".


Писать про каждую любовно прикрученную перделку нет смысла, главное - всё сделано для людей, а не для галочки гнусного манагера. Даже тип колонки вместе с её именем (в гриде данных) - уникальная фича, которую не видел практически нигде. Это говорит о том, что я знаю что делаю, поэтому проект должен жить и продаваться. ;]

Творческие планы почти исчерпаны - DBQuickie делает всё, что мне нужно в ежедневной работе. Как совсем уж вальяжные мечты, можно запилить:

  1. Backup/restore базы. Полезно, когда делаешь обновлятель БД и быстро нужна нетронутая копия базы. Нечасто, но нужно.

    Тут всё оказалось не так просто, как команда "BACKUP DATABASE"! Во-первых, бэкап делается на стороне сервера, т.е. на его дисках - будь добр, получи shares удалённого сервера, структуру каталогов, а потом уже предлагай имя файла! Во-вторых, сам ms-ссыкуль - тупой и ему при RESTORE вручную надо задавать, какие имена будут у data/log файлов (которые обязательно совпадут с существующими БД). Попутно, придётся получить каталог, где эти data/log файлы лежат по-умолчанию. Оценили? Вот такой кровью даётся "однокликовый" бэкап!


    Как вариант, тупо одна кнопка: "дублировать базу"! Дёшево, сердито, надёжно. :)

  2. Побольше всяких снипетов, но это уже дело публики - выбрать наиболее используемые. К слову, не всегда снипет - это тупая вставка шаблона: снипет INSERT анализирует структуру таблицы и даёт корректные values для вставки. Пример:
    INSERT INTO Repository
       (Name, Description, CreateDate, CreateUserID)
       VALUES ('a', 'a', getdate(), 0)
    

  3. "Частые запросы" - почти как сниппеты, только каждый юзер сохраняет свои собственные.
  4. Поиск по именам таблиц/полей, поиск по данным. Это куда интереснее вбивания SELECT! :)
  5. Генератор данных. У одних пижонов это отдельный продукт, а у меня будет просто "фича".
  6. ToDo лист по каждой базе. Бывает так, что какую-то операцию отложил, вернулся в понедельник - весь мозг как спиртом протёрли! :) Посмотрел в список - ага, забыли зашифровать пароли! И второй пункт - "купить вазелин".
  7. К сравнивателю структуры баз неплохо бы допилить и сравнение данных. В принципе, это можно обойти экспортом SQL-INSERT скриптов и их текстовым сравнением, но мы же делаем "удобно" - надо пилить наглядный tool.


Вот так сапожник оказался в сапогах - я уже сейчас частенько применяю quickie для баз, а обкатаю - будет вообще сказка! Не надо бояться - надо делать. Каждый день, по маленькой фиче, по 5 строк полезняшек, можно вырастить хороший продукт. Он и для резюме - нехилый такой бонус. Хотя... какие нафик в нашем возрасте резюмы! :)

Tags: , ,

(Оставить комментарий)

Разработано LiveJournal.com