When using the Visual Studio SQL Compare to compare your database schema to your physical database it returns heaps of false positives, where SQLCompare is suggesting that your CMD variable does not match what is on the database.
SQLCompare uses the default or local CMD variables that you have on your project when performing the compare.
You need to ensure the default variables match the target database you are comparing against.
To change your defaults open the properties of your Database project, switch to the “SQLCMD Variables” tab and edit the defaults.
When you get your variables in alignment with your target comparison database you will get a true indication of the differences.
You create a post deployment script, with a statement like;
:r .\Static Data\Insert Seed Values.sql
The system throws an error and will not build:
72006: Fatal scripting error: Incorrect syntax was encountered while parsing ‘Data\Insert’
There are two problems:
- The post deployment script does not like spaces in the file paths, so quote the file path in “double quotes”.
:r ".\Static Data\Insert Seed Values.sql"
- The post deployment script runs in SQL CMD mode, so whilst ever you have the script file open it will throw syntax errors either
- Close the post deployment script; or
- Turn on SQL CMD mode on the file, (in 2012 with latest SSDT this is the last icon in the toolbar
This ones just for me.
I have been using TFS and when I read the best practice documentation for how to setup your projects I have ended up having a preference for how i like my directory structure.
Assume you have a project call BudgetForecast, I would end up with a folder structure like
Under the BudgetForecast directory would be the BudgetForecast.sln and in the Source subdirectory would be the Project file.
So how to get Visual studio to do that.
- Create a new solution
- Set the location to c:DevBudgetingProjectMainSource
- Set the Name to “Source” (this also sets the solution name)
- Set the SolutionName to “BudgetForecast”
- make sure the “Create Directory for Solution” is picked
- click OK
Your soltuion is now created but your project is called source, so just rename to project to BudgetForecas, save that and your done.
I wrote this as I can never remember whether Name or solution Name needs to be changed to source and invariably I get it wrong