diff --git a/src/dbtypes.html b/dist/dbtypes.html similarity index 93% rename from src/dbtypes.html rename to dist/dbtypes.html index 5ae57a9..4eabc86 100644 --- a/src/dbtypes.html +++ b/dist/dbtypes.html @@ -95,7 +95,7 @@
-It is free software that is distributed under the terms of the
+It's also designed to help resolve the obtuse errors that a database sometimes gives
+related to failures due to constraints.
+
It is free software that is distributed under the terms of the
Lesser GNU Public License 2.1.
Your donations
are, however, greatly appreciated.
-
-If you like SchemaSpy then please vote for it on freshmeat, - digg it, - and tag it on del.icio.us. -
-SchemaSpy uses the dot +
+If you like SchemaSpy then please +vote for it on freshmeat, + +digg it, +and +tag it on del.icio.us. +
+SchemaSpy uses the dot executable from Graphviz to generate graphical representations of the table/view relationships. This was initially added for people who see things visually. -Now the graphical representation of relationships is a fundamental feature of the tool. -Graphvis is not required to view the output generated by SchemaSpy, but the dot program should be in your PATH +Now the graphical representation of relationships is a fundamental +feature of the tool. +Graphvis is not required to view the output generated by SchemaSpy, but +the dot program should be in your PATH (not CLASSPATH) when running SchemaSpy or none of the graphs will be generated. -
-SchemaSpy uses JDBC's database metadata extraction services to gather
-the majority of its information,
-but has to make vendor-specific SQL queries to gather some information
-such as the SQL associated with a view and the details of check
-constraints.
-The differences between vendors have been isolated to configuration files and are extremely limited.
-Almost all of the vendor-specific SQL is optional.
+
SchemaSpy uses JDBC's database metadata extraction services to gather
+the majority of its information, but has to make vendor-specific SQL queries
+to gather some information such as the SQL associated with a view and the
+details of check constraints.
+The differences between vendors have been isolated to configuration
+files and are extremely limited. Almost all of the vendor-specific SQL
+is optional.
Sample output of the tool is available at
here.
-Note that this was run against an extremely limited schema so it doesn't show the full power of the tool.
-
You run SchemaSpy from the command line:
-- | java -jar schemaSpy.jar -t dbType -db dbName [-s schema] -u user [-p password] -o outputDir [-nohtml][-noimplied]
- |
-
- | Parameter | -Description | -
---|---|---|
- | -t databaseType |
- Type of database (e.g. ora, db2, etc.).
- Use -dbhelp for a list of built-in types.
- Defaults to ora .
- |
-
* | --db dbName |
- Name of database to connect to | -
* | --u user |
- Valid database user id with read access | -
- | -s schema |
- Database schema - (optional if the same as user or isn't supported by your database) | -
- | -p password |
- Password associated with that user. - Defaults to no password. | -
* | --o outputDirectory |
- Directory to write the generated HTML/graphs to | -
- | -dp pathToDrivers |
- Looks for drivers here before looking in driverPath in [databaseType].properties | -
- | -desc "Schema description" |
- Displays the specified textual description on summary pages.
- If your description includes an equals sign then escape it with a backslash. - For example: - -desc "<a href\='http://schemaspy.sourceforge.net'>SchemaSpy</a>" .
- |
-
- | -all |
- Evaluate all schemas in a database.
- Generates a high-level index of the schemas evaluated and allows for
- traversal of cross-schema foreign key relationships. - Use with -schemaSpec "schemaRegularExpression"
- to narrow-down the schemas to include.
- |
-
- | -schemas "schema1,schema2" |
- Evaluate specified schemas.
- Similar to -all , but explicitly specifies which
- schema to evaluate without interrogating the database's metadata.
- Can be used with databases like MySQL where a database isn't
- composed of multiple schemas.
- |
-
- | -meta metafile |
-
- metafile is either the name of an individual
- XML file or the directory that contains meta files.
- If a directory is specified then it is expected to contain files
- matching the pattern [schema].meta.xml .- For databases that don't have schema substitute database for schema. - See Providing Additional Metadata for details. - |
-
- | -lq |
- Generate lower-quality diagrams.
- Note that the default is intended to be "higher quality", but
- various installations of
- Graphviz
- may have have different abilities.
- That is, some might not have the "lower quality" libraries and others
- might not have the "higher quality" libraries. - Higher quality output takes longer to generate and results in significantly - larger image files (which take longer to download / display), - but the resultant Entity Relationship diagrams generally look better. - |
-
- | -i "tableNamesRegex" |
- Only include matching tables/views.
- This is a regular expression that's used to determine which
- tables/views to include. For example: -i "(.*book.*)|(library.*)"
- includes only those tables/views with 'book' in their names or that start with 'library'.- You might want to use -desc with this option to describe the subset of tables. - |
-
- | -x "columnNamesRegex" |
- Exclude matching columns from relationship analysis to
- simplify the generated graphs.
- This is a regular expression that's used to determine which
- columns to exclude. It must match table name, followed by a dot, followed by
- column name. For example: -x "(book.isbn)|(borrower.address)" - Note that each column name regular expression must be surround by () 's and
- separated from other column names by a | .
- Excluded relationships will still show up on detail pages. - |
-
- | -X "columnNamesRegex" |
- - Same as -x but excluded relationships will not show up on detail pages. - | -
- | -ahic |
- Allow HTML In Comments. - Any HTML embedded in comments normally gets encoded so that it's rendered as text. - This option allows it to be rendered as HTML. |
-
- | -norows |
- Don't query or display row counts. | -
- | -noimplied |
- Don't include implied foreign key relationships in the generated table details | -
- | -nohtml |
- Only generate files needed for insertion/deletion of data (e.g. for scripts) | -
Here are the currently supported database types.
- Use java -jar schemaSpy.jar -dbhelp
for a complete list of the supported
- database types and the parameters that each one requires.
Type | -Description | -
---|---|
db2 | -IBM DB2 with 'app' Driver | -
db2net | -IBM DB2 with 'net' Driver | -
derby | -Derby (JavaDB) Embedded Server | -
derbynet | -Derby (JavaDB) Network Server | -
firebird | -Firebird | -
hsqldb | -HSQLDB Server | -
informix | -Informix | -
maxdb | -MaxDB | -
mssql | -Microsoft SQL Server 2000 | -
mssql05 | -Microsoft SQL Server 2005 | -
mssql-jtds | -Microsoft SQL Server with jTDS Driver | -
mysql | -MySQL | -
ora | -Oracle with OCI8 Driver | -
orathin | -Oracle with Thin Driver | -
pgsql | -PostgreSQL | -
sybase | -Sybase Server with JDBC3 Driver | -
sybase2 | -Sybase Server with JDBC2 Driver | -
udbt4 | -DB2 UDB Type 4 Driver | -
A MySQL example:
-
- java -jar schemaSpy.jar -t mysql -o library -host localhost -db library -u user -p password
- |
-
library
- directory that give the details of the schema in the database library
.
- This is what I used to generate the sample output.
- An MS SQL Server example:
-
- java -jar schemaSpy.jar -t mssql -db library -host localhost -port 1433 -u user -p password -o library
- |
-
mssql
- database type with MS SQL Server-specific database connection parameters.
-
- -meta
parameter.
- Here are some of the things that you can define in this XML:
- You run SchemaSpy from the command line:
++ | java -jar schemaSpy.jar -t dbType -db dbName [-s schema] -u user [-p password] -o outputDir [-nohtml][-noimplied]
+ |
+
+ | Parameter | +Description | +
---|---|---|
+ | -t databaseType |
+ Type of database (e.g. ora, db2, etc.).
+ Use -dbhelp for a list of built-in types.
+ Defaults to ora .
+ |
+
* | +-db dbName |
+ Name of database to connect to | +
* | +-u user |
+ Valid database user id with read access | +
+ | -s schema |
+ Database schema + (optional if the same as user or isn't supported by your database) | +
+ | -p password |
+ Password associated with that user. + Defaults to no password. | +
* | +-o outputDirectory |
+ Directory to write the generated HTML/graphs to | +
+ | -dp pathToDrivers |
+ Looks for drivers here before looking in driverPath in [databaseType].properties. + The drivers are usually contained in .jar or .zip files and are typically + provided by your database vendor. | +
+ | -desc "Schema description" |
+ Displays the specified textual description on summary pages.
+ If your description includes an equals sign then escape it with a backslash. + For example: + -desc "<a href\='http://schemaspy.sourceforge.net'>SchemaSpy</a>" .
+ |
+
+ | -all |
+ Evaluate all schemas in a database.
+ Generates a high-level index of the schemas evaluated and allows for
+ traversal of cross-schema foreign key relationships. + Use with -schemaSpec "schemaRegularExpression"
+ to narrow-down the schemas to include.
+ |
+
+ | -schemas "schema1,schema2" |
+ Evaluate specified schemas.
+ Similar to -all , but explicitly specifies which
+ schema to evaluate without interrogating the database's metadata.
+ Can be used with databases like MySQL where a database isn't
+ composed of multiple schemas.
+ |
+
+ | -meta metafile |
+
+ metafile is either the name of an individual
+ XML file or the directory that contains meta files.
+ If a directory is specified then it is expected to contain files
+ matching the pattern [schema].meta.xml .+ For databases that don't have schema substitute database for schema. + See Providing Additional Metadata for details. + |
+
+ | -lq |
+ Generate lower-quality diagrams.
+ Note that the default is intended to be "higher quality", but
+ various installations of
+ Graphviz
+ may have have different abilities.
+ That is, some might not have the "lower quality" libraries and others
+ might not have the "higher quality" libraries. + Higher quality output takes longer to generate and results in significantly + larger image files (which take longer to download / display), + but the resultant Entity Relationship diagrams generally look better. + |
+
+ | -i "tableNamesRegex" |
+ Only include matching tables/views.
+ This is a regular expression that's used to determine which
+ tables/views to include. For example: -i "(.*book.*)|(library.*)"
+ includes only those tables/views with 'book' in their names or that start with 'library'.+ You might want to use -desc with this option to describe the subset of tables. + |
+
+ | -x "columnNamesRegex" |
+ Exclude matching columns from relationship analysis to
+ simplify the generated graphs.
+ This is a regular expression that's used to determine which
+ columns to exclude. It must match table name, followed by a dot, followed by
+ column name. For example: -x "(book.isbn)|(borrower.address)" + Note that each column name regular expression must be surround by () 's and
+ separated from other column names by a | .
+ Excluded relationships will still show up on detail pages. + |
+
+ | -X "columnNamesRegex" |
+ + Same as -x but excluded relationships will not show up on detail pages. + | +
+ | -ahic |
+ Allow HTML In Comments. + Any HTML embedded in comments normally gets encoded so that it's rendered as text. + This option allows it to be rendered as HTML. |
+
+ | -norows |
+ Don't query or display row counts. | +
+ | -noimplied |
+ Don't include implied foreign key relationships in the generated table details | +
+ | -nohtml |
+ Only generate files needed for insertion/deletion of data (e.g. for scripts) | +
Here are the currently supported database types.
+ Use java -jar schemaSpy.jar -dbhelp
for a complete list of the built-in
+ database types and the parameters that each one requires.
+ See the database types documentation
+ if you want to add support for other types of databases or add additional
+ functionality (e.g. to display view and check constraint SQL)
+ to supported databases.
+
Type | +Description | +
---|---|
db2 | +IBM DB2 with 'app' Driver | +
db2net | +IBM DB2 with 'net' Driver | +
derby | +Derby (JavaDB) Embedded Server | +
derbynet | +Derby (JavaDB) Network Server | +
firebird | +Firebird | +
hsqldb | +HSQLDB Server | +
informix | +Informix | +
maxdb | +MaxDB | +
mssql | +Microsoft SQL Server 2000 | +
mssql05 | +Microsoft SQL Server 2005 | +
mssql-jtds | +Microsoft SQL Server with jTDS Driver | +
mysql | +MySQL | +
ora | +Oracle with OCI8 Driver | +
orathin | +Oracle with Thin Driver | +
pgsql | +PostgreSQL | +
sybase | +Sybase Server with JDBC3 Driver | +
sybase2 | +Sybase Server with JDBC2 Driver | +
udbt4 | +DB2 UDB Type 4 Driver | +
A MySQL example:
+
+ java -jar schemaSpy.jar -t mysql -o library -host localhost -db library -u user -p password
+ |
+
library
+ directory that give the details of the schema in the database library
.
+ This is what I used to generate the sample output.
+ An MS SQL Server example:
+
+ java -jar schemaSpy.jar -t mssql -db library -host localhost -port 1433 -u user -p password -o library
+ |
+
mssql
+ database type with MS SQL Server-specific database connection parameters.
+
+ -meta
parameter.
+ Here are some of the things that you can define in this XML:
+