Hi there. I'm fairly old hat with Toad, but new to using team coding. I've got as far as installing it on a database, adding a project, connecting to our VCS (SVN) and all is OK in general. But, is there a way to create the initial revision as a single commit?
When I first create a project and add the schema I want with all the object types selected there ends up being 4000+ objects. The prompt after clicking "OK" asks if I want to create a new revision, and despite having the "Use single revision when checking in objects" checkbox enabled under User Settings -> Local Option, each file added is a separate svn add and commit, creating many revisions. This is not very good, though you could maybe look past it, but it takes a whole day if it doesn't crash. If I go down this route of using team coding I've got multiple dbs and multiple schemas to setup so it will take weeks. At the minute that's a no from the manager
I've tried a few different ways to try and get my desired effect on smaller subsets of objects but I've not got anywhere. I'm sort of thinking it's because Toad will check for the existence of files in SVN on "check-out" phase and adds them to SVN if missing, so the check-in phase doesn't really do anything anyway since there are no changes. If I could create all the files in a local dir and commit them manually and thereafter have Toad manage it all via team coding that's fine. I've not actually looked at using export facilities, maybe that's an option. Thought I'd ask on here for any better ideas first.
My advice would be to skip that initial prompt to create a new revision and you can surely do this outside of Toad and then continue using TC within Toad.
I'm thinking maybe the "Use single revision" option isn't obeyed when checking in from that initial prompt after creating your project. I'm curious if you cancel that prompt then proceed to create a new revision another way, such as the main toolbar button in the Config window "Compare and synchronize" or if you just open the Team Coding Manager window and do it from there, if this option is obeyed. It is also possible that this option does not work with all source control providers. I can certainly look into this soon. Please feel free to leave any more comments here about what you find.
Hi Brad, appreciate the quick response, thank you. I tried skipping that prompt and using the "Create new revision" item from the right click menu on the team coding window, but it did the same thing. I'm almost sure it's because the check-out phase is finding that the file is missing from VCS and then adds it - I turned VCS commands to output window on. The "use single revision" is obeyed after all the initial setup - I made some changes to a few files as a test and checked them all in at once and that works no problem.
I'm going to look at doing some kind of export today to see if that will work. I've seen it mentioned online somewhere when I've done a trawl for info, but whoever it was seemed to think that the format of the export is slightly different so we'll see. I've also not tried "Compare and synchronize" either, I've not noticed it 'til you said.
I've ending up getting it to work how I like now, I think. I used a local git repo on my pc to get toad to create the initial set of files for all objects, one schema at a time. This can be done by ignoring the "do you want to create an initial version" prompt and using the right click option on each schema in the team coding manager window, this restricts the revision on a schema basis. I didn't try to do all 4 schemas at once, maybe it would have worked but a single schema took long enough, didn't want to risk a complete lock up and crash.
I then committed these files into the company's SVN repo and switched the team coding VCS from git to SVN, pointing it at the company repo (ignore the prompt to create new revision once again!). I used git to start with as it seemed to be a little quicker than SVN, even using a local SVN repo on the same PC. This may have just been in my head as I've tried so many things now it's all a bit of a blur.
This way the company SVN log isn't full of revisions for every file added, and it only needed doing once and it's ready to go.
All seems to be working now, yet to test in anger though. Initial startup of the team coding window takes a while and slows down the initial log on if that window is open on startup, but it is handling 16,500+ objects. It's not too bad.
Now to see if I can replicate this on about 10 or so databases. It helped to have access to a server where I could install Toad and leave it alone for all this, leaving my own pc free to get on with other things.
Also just to add that I tried using the DDL export tool - which got me close but no cigar. The files are generated slightly differently e.g. using DROP on PL/SQL where team coding does not do this, well, the default option is not to use it. And other little things like that. Filename extensions slightly different too, fixable with a bit of a script to modify but not worth it coupled with the other differences.
I don't know much about Team Coding, but I can tell you that in 17.1 (now in Beta), the Export DDL and Team Coding Check in/out of multiple objects will be much faster. We used to extract DDL for these objects one by one, which is why it took so long. Now we do that in batches of up to 1000.
That's beautiful, music to my eyes. I'll see if I can get the beta version before I set about doing the next lot of DBs then, it should be much nicer to use.
Hey Paul - please note, there may be some whitespace diffs (mostly at the end of the file) between what Toad 17.0 and 17.1 Export DDL and Team Coding generate, so if that matters to you, you might not want to mix and match those versions, Team-Coding wise.
I tried to prevent minimize these as much as possible but some were unavoidable.