Hello, dear habro-readers and SQL-writers. The
HostTrecker team wants to share a useful utility for SQL developers and administrators.
What problem we solve?
Finding dependencies of objects in the database.
Search by row in database metadata (stored procedures, View, user-defined functions, table definitions, indexes, keys)

Where did the idea come from
A colleague (
fire_lizard ) and I encountered a huge database, thousands of procedures, tables, functions, and other usefulness. Needed was refactoring, plus a new functionality. With the documentation on the database, everything was not so hot, and we had to deal with the scheme of the database on our own. It was a living hell.
In the second week, we realized that the bastion was not to be taken in vain.
Recalling my glorious Unix past, I started to miss the
grep utility a bit, and we decided that we need the same, but “no wings” for SQL metadata.
')
No sooner said than done.
The first version was written in a week and its fame spread throughout the development department. She was sharpened under MS SQL and worked from the command line.
Inspired by the feedback from colleagues, we brushed the utility a bit, added UI to it, made the highlighting of the entries and the syntax highlighting. They called SQL Dynamite (but don’t ask why dynamite, it happened ;-)
Then the people began to ask us about the support of other bases. As in any self-respecting large organization, we had a whole zoo of various databases. Following the wishes of the workers, and their own lively interest in SQL, we gradually understood the structure of the schemas of different databases.
Moreover, in the development process, it became interesting to touch .NET on the subject of cross-platform. It turned out all good. Slightly having worked with a file, we made a project for Mono, and the program started working under a warm tube Linux and Mac OS X.
Opportunities
- Search for occurrences in the name or text of stored procedures, functions, triggers, tables and indexes, keys;
- Search using templates (syntax LIKE%, _);
- Setting objects for search;
- Display of the body of the found object in the form of DDL;
- Syntax highlighting;
- Highlighting the found string in the body of the object;
- Storing search history;
- Work with multiple databases.
Supported DB
- MS SQL;
- MySql;
- Oracle;
- SQL Azure;
- Sybase ASE;
- Sybase Anywhere;
- Ingress;
- PostgreSQL;
- IBM DB / 2;
- Firebird
Plans
- Add DDL preservation on found objects to file
- Add thingies to the UI
- Search multiple databases
- Display of found objects as a tree grouped by object type
- Editing Found Objects
- AutoCorrect
Where to get?
The latest version is
here . Use on health.
We will be glad to any feedback in the form of comments, criticism and bug reports and adding new features.
PS: If it is interesting, then we can write an article about working with meta-information in different databases.