• Alexander Kuznetsov (6/24/2009)


    I guess I know how and why configuration works, but IMO it is completely irrelevant so it shouldn't be there at all. Why do I need to waste my time to "have the settings change on projects to match the environments." Who cares?

    You would only care if you're trying to deploy to lots of different environments. If I have to get the same database to two, three, five, different environments, but, there are different settings, security is the one example I use because it's the most common problem we run into, required for each of those environments, you need a mechanism to tell the database to deploy differently AND the same in each environment. The "same" part of that deployment is the core database project. This project will need to have connection strings to each of the various environments. In prior versions of Data Dude, I used command line batches with variable settings to be able to deploy one project to multiple locations. With the configuration, I get two things, the ability to change the connection string AND the ability to store it with the project, in source control, so that more than one DBA can grab the project and repeatedly and reliably deploy it.

    Well as a database developer I don't know and I don't need to know what the logins are, at least in the environment I work for. I create roles and grant permissions to them, and that's it, and that ends at the database level. Having to create a server project that I don't need seems to be a waste of time.

    Having an unnecessary project sit in my solution is an even bigger waste of time, as it clutters my screen, slows down my searches, check ins, check outs etc.

    Am I missing something?

    I think so. If the only deployment you care about is on a single machine, yeah, you sure don't need this hassle. But when you have to deploy this to Dev, QA, CI, Financtial Testing, Training, Performance Testing, Staging and Production, the other QA enviroment because we're working of a branched version of the code right now, the sandbox server, etc., ... You might want a mechanism for maintaining which set of security is in use in which environment and a way to store that information with the project.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning