На моей работе у всех есть фрагменты sql, которые они используют для ответов на вопросы. Некоторые из них специфичны для клиента, а некоторые являются общими для данной базы данных. Я хочу объединить эти запросы в библиотеку / репозиторий, к которым может получить доступ любой член команды. Требования будут:
Мне интересно узнать, что работает в других командных средах.


Вместо того, чтобы вставлять фрагменты SQL, я бы подумал о переходе на ORM (Object-Relational Mapper) или другую библиотеку, чтобы упростить представление и управление данными. Он обеспечивает уровень инкапсуляции для защиты от изменений схемы и уровень абстракции, чтобы вы могли думать о данных с точки зрения бизнес-логики (например, пользователя), а не набора таблиц (например, таблицы пользователей, таблицы паролей). , таблица доступа ...).
В Perl это будет что-то вроде DBIx :: Класс.
Вики - отличный подход.
Для фрагментов, специфичных для базы данных или конкретного проекта, также очень полезно иметь ссылки на то, где подобная конструкция встречается в коде. Мы используем вики trac, которая обеспечивает хорошую интеграцию с SVN для этого.
Другой подход, который вы, возможно, захотите рассмотреть, - это создание представлений в вашей базе данных. 'select * from some_view' может скрыть часть SQL. Вы все равно захотите использовать вики для их документирования, но если это представление, вам не нужно беспокоиться о том, что люди хранят устаревшие копии.
это великолепная идея! Не думаю, что я об этом не подумал! Я собираюсь начать это у себя дома сегодня днем.