Как все хранят connectionstrings?

Мне было интересно, могут ли люди публиковать свое решение текущей проблемы локальных баз данных и различных connectionstrings среди многих разработчиков в одном проекте в системе управления версиями?

более конкретно, я говорю о проблеме, когда проект, который находится в системе управления версиями и имеет много разработчиков с локальной базой данных каждый. У каждого разработчика есть своя строка подключения (именованный экземпляр, экземпляр по умолчанию, имя машины, имя пользователя, пароль и т. д.). Каждый заезд переопределяет предыдущую версию и вытягивание последней версии приводит к использованию чужой строки подключения.

Так, люди, какое решение вы используете для этой проблемы? Дополнительные очки для объяснений, почему их решение работает, плюсы и минусы.

редактировать Имейте в виду, что этот ответ не должен быть нацелен только на корпоративную среду, где у вас есть полный контроль над настройкой. Правильное решение должно работать для всех: предприятия, стартапа, и открыть девс источник.

спасибо!

4 ответов


мне кажется, ваш вопрос подразумевает один из двух результатов:

  1. строка подключения указывается в Интернете.конфигурационный файл, достаточно общий для работы со всеми локальными версиями базы данных. Вы указали, что это не идеальная настройка в средах, где у вас нет полного контроля.
  2. каждый разработчик должен предоставить свою собственную строку подключения, которая никогда не проверяется в системе управления версиями.

несколько другие уже освещен первый сценарий. Используйте 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 при сборке / развертывании.


все наши станции разработки настроены примерно одинаково.

  1. мы используем интегрированную аутентификацию к базе данных, поэтому никакой пользователь / пароль не нужно хранить.
  2. каждый использует экземпляр по умолчанию.
  3. поскольку все они являются локальными базами данных, вы можете использовать localhost.
  4. то же имя базы данных

таким образом, строка подключения может быть:

Data Source=localhost;Initial Catalog=TheDatabaseName;Integrated Security=SSPI;

и все это используют.


У нас есть тестовая база данных, которая работает на собственном сервере. Это просто тестовые данные, фактически реплицируемые с живого сервера каждую ночь. Все разработчики используют это для тестирования. Это истинные данные, но не критические, поскольку это день. Мы храним строки подключения в интернете.конфиг конечно. У меня есть функция, чтобы получить строку подключения из интернета.config и я просто смотрю, если это localhost возвращает строку тестового соединения. если нет, то верните строку live connection. Это работает для нас. И мы просто не используем локальные базы данных.


Я видел различные методы, используемые.

i) Вы поддерживаете только строку живого соединения, и разработчики вносят изменения в соответствующий модуль и никогда не проверяют его.

ii) приложение.config поддерживается строками подключения, и это общий файл, насколько это касается системы управления версиями.

iii) в конфигурации отладки сведения о строке подключения передаются в командной строке из IDE.