Open the Settings dialog from Model → Settings.
The dialog has two tabs: Interface (general application settings) and Database Specific (per-database configuration). Read the description displayed below each setting title for guidance.
The Interface tab controls application-wide behaviour:
The Database Specific tab lets you tune DbSchema's behaviour for a particular database engine. Databases are customizable, making it straightforward to add support for a new database to the known list.
Tables, columns, indexes, and foreign keys are created and modified using SQL ALTER TABLE commands. These statements are configurable, so you can correct any incompatibilities yourself. The correct syntax can usually be found in the database vendor's documentation.
The statements use Groovy expressions defined with ${variable} syntax, or inline code blocks using <% code %>. Groovy templates allow conditional logic inside the SQL statements. You can see examples for each database in the Settings dialog.
Under Formatting you can configure letter-case sensitivity. Many databases convert table and column names to uppercase or lowercase (MySQL uses lowercase, Oracle uppercase). If you want to preserve exact case, you can enable quoting. DbSchema applies the case conversion directly in the table and column dialog so names appear as they will in the database.
You can edit, add, or remove data types for each database. Each data type has the following properties:
VARCHAR, NUMBER).VARCHAR(100)).NUMBER(4)).NUMBER(4,2)).INTEGER).DbSchema uses the JDBC driver to retrieve table, column, and foreign key information from the database. Custom queries are only used for triggers, procedures, and functions, as these are not exposed by the standard JDBC API.
These queries typically return standard columns such as schema name, object name, and source code text. If you notice that procedures or triggers are not being reversed correctly for your database, please report it so the queries can be improved.