I need three separate things:
Database Script Generator
Thanks, if you have any questions, please let me know.
Rent A Coder requirements notice: As originally posted, this bid request does not have complete details. Should a dispute arise and this project go into arbitration "as is", the contract's vagueness might cause it to be interpreted against you, even though you were acting in good-faith. So for your protection, if you are interested in this project, please work-out and document the requirements onsite.
The Database script generator will take a collection of table names (if no table names selected then it processes the entire database), each collection item has two properties (tableName, withData (Boolean)). The table name is for which table to process, the with data option is to have insert statements for whatever data is present in that table you are generating a script for. Here is the key, one must process every stored procedure that uses said table (and any child tables the stored procedure uses). Hence if the stored procedure uses the desired table along with others in a join, then you must include the others even if they were not selected, also all stored procedures must be included and created in the correct order (meaning if there is a child stored procedure being used inside another stored procedure, then the child must be created before the one that uses the child). This is also the same for views, if a view uses a view then the view all dependencies must be built first.
This project is rather simple, you can use the INFORMATION_SCHEMA bits to query the database, you can easily get the view and stored procedure code via these queries, once you have the code you can check for dependencies. You will probably have to keep track of what tables/views and stored procedures you have already processed. Don’t forget relationships, triggers, indexes and constraints.
This should result in a script that can create the database, all the tables, views and stored procedures and then populate the selected tables (these are normally support tables). I suspect that it would be best to populate before creating the primary keys, indexes, constraints and relationships.
Database Compare will compare two databases, one compares Database1 to Database2, if 1 is different then 2 then a script is generated to duplicate the structure to database2. A collection of errors describing what was different for each instance will also get populated.
Database Synchronize will take the data of database1 and populate database2. Having the database compare option done, would make it easier to do the synchronization bit.
Please keep in mind that all create bits should always check for the existence of the object and then drop it if it exists and re-create it.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows? (depending on the nature? of the deliverables):
a)? For web sites or? other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software? installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
This is to work with SQL server 2000, and written in VB.NET or C#, keep it pure .NET, now COM objects, must generate scripts, not work with SQLDMO.