# mloftis@xxxxxxxxx / 2006-07-07 14:08:08 -0600: > --On July 7, 2006 12:35:53 PM +0000 Roman Neuhauser <neuhauser@xxxxxxxxxx> > wrote: > > ># mloftis@xxxxxxxxx / 2006-07-06 22:41:27 -0600: > >>OK I know this is an odd question but I'm working on an app that will > >>rely more and more on database driven functions, and while the app's > >>source is in SVN, and I intend for the source of the SQL scripts to > >>also be there, I was wondering...what are people doing for version > >>control and change management on their custom (esp PL/pgSQL and say > >>PL/Perl) functions? > > > > Well, "people" use a version control system. > > > > Do you have any specific questions? > > Yes, how exactly do you use it. Since there's no way to directly control > whats in the DB via a VCS, further, how do you verify that what is in the > DB is also in the VCS, etc? Simply: there's no "the DB". Developers have no access to the customer installation(s), and putting things into the VCS is the only way for them to produce code, which includes DDL. What's not in the VCS (or generaged during the release process from tools that are tracked) cannot be installed from the tarball. Whether you produce releases for general consumption like the PostgreSQL project does or your installed base consists of a single web server, whether you produce tarballs or run "svn up" on the single Apache box: that's an irrelevant detail of the release process. Each release should contain DDL/DML needed to upgrade the database from the previous release. The developer who wants to change the schema must provide the ALTER statements. -- How many Vietnam vets does it take to screw in a light bulb? You don't know, man. You don't KNOW. Cause you weren't THERE. http://bash.org/?255991