author | Radek Brich <radek.brich@devl.cz> |
Tue, 16 Aug 2011 16:03:46 +0200 | |
changeset 9 | 2fcc8ef0b97d |
parent 7 | 685b20d2d3ab |
child 16 | cb7e13711a99 |
permissions | -rwxr-xr-x |
2 | 1 |
#!/usr/bin/env python3.2 |
2 |
||
9
2fcc8ef0b97d
Reorganize again :-) Add setup.py.
Radek Brich <radek.brich@devl.cz>
parents:
7
diff
changeset
|
3 |
from pgtoolkit import pgmanager, pgbrowser, pgdiff, toolbase |
2 | 4 |
|
5 |
||
7
685b20d2d3ab
Reorganize directories. PgDataDiff - reworked. PgManager - add fetchone_adapted, fetchall_adapted to cursor.
Radek Brich <radek.brich@devl.cz>
parents:
5
diff
changeset
|
6 |
class SchemaDiffTool(toolbase.SrcDstTool): |
5 | 7 |
def __init__(self): |
7
685b20d2d3ab
Reorganize directories. PgDataDiff - reworked. PgManager - add fetchone_adapted, fetchall_adapted to cursor.
Radek Brich <radek.brich@devl.cz>
parents:
5
diff
changeset
|
8 |
toolbase.SrcDstTool.__init__(self, name='schemadiff', desc='Database schema diff.') |
5 | 9 |
|
10 |
self.parser.add_argument('-s', dest='schema', nargs='*', help='Schema filter') |
|
11 |
self.parser.add_argument('-t', dest='table', nargs='*', help='Table filter') |
|
12 |
||
13 |
self.init() |
|
2 | 14 |
|
5 | 15 |
def main(self): |
16 |
srcbrowser = pgbrowser.PgBrowser(self.pgm.get_conn('src')) |
|
17 |
dstbrowser = pgbrowser.PgBrowser(self.pgm.get_conn('dst')) |
|
2 | 18 |
|
5 | 19 |
pgd = pgdiff.PgDiff(srcbrowser, dstbrowser) |
2 | 20 |
|
5 | 21 |
if self.args.schema: |
22 |
pgd.filter_schemas(include=self.args.schema) |
|
23 |
||
24 |
if self.args.table: |
|
25 |
pgd.filter_tables(include=self.args.table) |
|
2 | 26 |
|
5 | 27 |
pgd.print_diff() |
28 |
||
2 | 29 |
|
5 | 30 |
tool = SchemaDiffTool() |
31 |
tool.main() |