Как все хранят connectionstrings?
Мне было интересно, могут ли люди публиковать свое решение текущей проблемы локальных баз данных и различных connectionstrings среди многих разработчиков в одном проекте в системе управления версиями?
более конкретно, я говорю о проблеме, когда проект, который находится в системе управления версиями и имеет много разработчиков с локальной базой данных каждый. У каждого разработчика есть своя строка подключения (именованный экземпляр, экземпляр по умолчанию, имя машины, имя пользователя, пароль и т. д.). Каждый заезд переопределяет предыдущую версию и вытягивание последней версии приводит к использованию чужой строки подключения.
Так, люди, какое решение вы используете для этой проблемы? Дополнительные очки для объяснений, почему их решение работает, плюсы и минусы.
редактировать Имейте в виду, что этот ответ не должен быть нацелен только на корпоративную среду, где у вас есть полный контроль над настройкой. Правильное решение должно работать для всех: предприятия, стартапа, и открыть девс источник.
спасибо!
4 ответов
мне кажется, ваш вопрос подразумевает один из двух результатов:
- строка подключения указывается в Интернете.конфигурационный файл, достаточно общий для работы со всеми локальными версиями базы данных. Вы указали, что это не идеальная настройка в средах, где у вас нет полного контроля.
- каждый разработчик должен предоставить свою собственную строку подключения, которая никогда не проверяется в системе управления версиями.
несколько другие уже освещен первый сценарий. Используйте localhost и следуйте соглашению для имени базы данных. Для варианта 2 я бы рекомендовал указать источник конфигурации, который не регистрируется в системе управления версиями:
<configuration>
<connectionStrings configSource="connectionStrings.config"/>
</configuration>
EDIT:
connectionStrings.config
<connectionStrings>
<add name="Name"
providerName="System.Data.ProviderName"
connectionString="Valid Connection String;" />
</connectionStrings>
From:http://msdn.microsoft.com/en-us/library/ms254494 (v=против 80).aspx
connectionStrings.config будет файлом в корне проекта, который вы специально исключен из системы управления версиями. Каждый разработчик должен будет предоставить этот файл при работе локально. Ваша строка производственного подключения может быть заменена через веб-сайт.преобразование config при сборке / развертывании.
все наши станции разработки настроены примерно одинаково.
- мы используем интегрированную аутентификацию к базе данных, поэтому никакой пользователь / пароль не нужно хранить.
- каждый использует экземпляр по умолчанию.
- поскольку все они являются локальными базами данных, вы можете использовать localhost.
- то же имя базы данных
таким образом, строка подключения может быть:
Data Source=localhost;Initial Catalog=TheDatabaseName;Integrated Security=SSPI;
и все это используют.
У нас есть тестовая база данных, которая работает на собственном сервере. Это просто тестовые данные, фактически реплицируемые с живого сервера каждую ночь. Все разработчики используют это для тестирования. Это истинные данные, но не критические, поскольку это день. Мы храним строки подключения в интернете.конфиг конечно. У меня есть функция, чтобы получить строку подключения из интернета.config и я просто смотрю, если это localhost возвращает строку тестового соединения. если нет, то верните строку live connection. Это работает для нас. И мы просто не используем локальные базы данных.
Я видел различные методы, используемые.
i) Вы поддерживаете только строку живого соединения, и разработчики вносят изменения в соответствующий модуль и никогда не проверяют его.
ii) приложение.config поддерживается строками подключения, и это общий файл, насколько это касается системы управления версиями.
iii) в конфигурации отладки сведения о строке подключения передаются в командной строке из IDE.