SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

Legal

Python Schema Diff is a python-based tool which permits to give the differences between two database schema. Its HTML rendering makes it easy for sharing this useful information among a team.

From now, the input are database schema creation scripts, and the output is textual file, CSV file, and HTML frame-base pages. But this is a start point, and since the core functionality is already available, it could be extended both in input and output format.

Author : Frédéric FRANCOIS
email : ffrancois@users.sourceforge.net

License : LGPL

Version : 0.1

Requirements :

Python (2.2.1 currently used) wxPython module (2.3.2.1 currently used)

All trademarks referenced herein are property of their respective holders.

Use

ParseCreateFile.py


This module parses a "Creation" File of a database, i.e. a file that contains "CREATE TABLE" statements. Those statements are parsed and stored in memory for later use.

This is the "model" of the MVC.

Default run : gives the list of tables of the database schema of SourceForge Project itself (alexandria).

CreateCompare.py

This module makes the comparaison between two schema. It uses 2 ParseCreateFile.py, and makes an "in-memory" difference. This difference can be exported to a raw-text format, mainly for debugging.

Default run : gives the raw-text differences between version 2.5 and 2.6 of the database schema of SourceForge Project itself (alexandria).

exportDiffOnlyToHTML.py

This module makes a "customed" HTML export of the result of a diff between 2 schema handled by "CreateCompare". Feel free to change it according to your need. The current version creates a subdirectory in which :

tables.html : gives the list of differences between the 2 schemas <table>.html : give the details of the differences for the <table> and an "index.html" which makes the global layout (multi-frame).

Default run : gives the differences between version 2.5 and 2.6 of the database schema of SourceForge Project itself (alexandria).

runAll.py

This module makes a "customed" HTML export of a set of comparaisons of schemas, which represent for example the weekly deliveries of a database on a medium-sized project. It will not work "as-is" but you can tune it with minimal effort to match your naming conventions on your project.

runOne.py

Debugging version of runAll, for only one couple of schemas.

title.html / table.css

The first file is the upper banner of the multi-frame export, which in our project lists the delivery of the schema each week, along with the difference versus the last delivery. This file is manually filled, but I just need a little time to make it completely generated. The second file (table.css) is the css of the HTML rendering.


WARNING

That's a first version (A huge refactoring is needed), but which could be helpful like that.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.