We recently moved from a relatively loose regime where all our script lived in the db, and was extracted, edited, and placed back in the db, to one where all of our entities are under SCM in Subversion.
We've elected to keep a baseline script for all static structures (tables, indexes, constraints), and individual scripts for each stored procedure, function, synonym, and view. A per-build incremental script is used to record changes.
There are approximately 300 of these scripts. What I'm looking for now is a reliable way to bridge between a folder full of small scripts and the test and production databases (dev tracks daily changes). The company probably won't spring for something like Redgate. I've been thinking about ginning up a utility using command line sql to iterate the scripts and execute them.
Any better ideas out there? Is the approach itself going to be workable over the long term and possibly for larger databases? What all have you guys tried and found successful when it comes to SCM for database entities?
We've elected to keep a baseline script for all static structures (tables, indexes, constraints), and individual scripts for each stored procedure, function, synonym, and view. A per-build incremental script is used to record changes.
There are approximately 300 of these scripts. What I'm looking for now is a reliable way to bridge between a folder full of small scripts and the test and production databases (dev tracks daily changes). The company probably won't spring for something like Redgate. I've been thinking about ginning up a utility using command line sql to iterate the scripts and execute them.
Any better ideas out there? Is the approach itself going to be workable over the long term and possibly for larger databases? What all have you guys tried and found successful when it comes to SCM for database entities?
