Schema Conversion

Generates a MySQL/MariaDB SQL script from the open EDB database schema. The script can then be reviewed, edited, and executed from the Migration tab.

What to Convert

Object Converted automatically Requires attention
Tables Column types, NOT NULL, defaults, collations, identity seed Verify COMPUTED, GENERATED and DEFAULT expressions
Primary Keys Inline in CREATE TABLE; IDENTITY → AUTO_INCREMENT Only one AUTO_INCREMENT allowed per table
Foreign Keys All FK constraints; names prefixed with table name MySQL requires schema-level unique FK names
Check Constraints Constraint structure and expression EDB-specific functions may need manual adjustment
Indexes Standard, UNIQUE, and text indexes Text indexes → FULLTEXT
Views CREATE VIEW statement SQL body requires manual conversion (EDB SQL/PSM → MySQL)
Triggers CREATE TRIGGER stub with event and timing mapped; body commented out Body — requires full manual rewrite from EDB SQL/PSM; a syntactically valid stub is emitted and the original EDB body is preserved as a comment.
Name — renamed as tablename_triggername (MySQL/MariaDB trigger names are unique per database, not per table); original EDB name preserved in header comment.
WHEN condition — no equivalent; dropped silently. Incorporate as IF … THEN … END IF block in the trigger body.
OF COLUMNS — no equivalent; trigger fires regardless of which columns changed.
ALL Triggers — no equivalent; mapped to INSERT placeholder. Must be split into three separate triggers (INSERT, UPDATE, DELETE).
ERROR Triggers — no MySQL/MariaDB equivalent; mapped to AFTER placeholder. Error handling uses DECLARE…HANDLER in stored procedures, not triggers.
LOAD UPDATE Triggers — no MySQL/MariaDB equivalent; mapped to INSERT placeholder. Trigger must be reconsidered.
Procedures CREATE PROCEDURE with full parameter list (names, modes, types converted); body commented out IN / OUT / INOUT modes preserved. Body is a DO 0; placeholder; original EDB SQL/PSM body deferred to end of script as commented reference for manual rewrite.
Functions CREATE FUNCTION with full parameter list and return type converted; body commented out OUT / INOUT parameters downgraded to IN (MySQL/MariaDB functions do not support output parameters). Body is a RETURN NULL; placeholder; original EDB body deferred as commented reference.
Descriptions EDB column/table descriptions → MySQL COMMENT clauses
Objects case Table, view, and trigger names to lowercase Table, view, and trigger names are lowercased in the output script. Column names, index names, constraint names, routine names, and the target database name always preserve their original case.

Triggers, Procedures, Functions — parameter conversion, body stub, deferred reference. Parameter lists for procedures and functions are fully generated: parameter names, modes, and types are converted using the same type-mapping rules as table columns (see Type Mapping). The routine body, however, is not converted — EDB’s SQL/PSM dialect is incompatible with MySQL/MariaDB. Instead, a syntactically valid stub (DO 0; for procedures, RETURN NULL; for functions) is emitted so the script can be executed immediately, and the original EDB body is appended at the end of the script in a commented block labelled ROUTINE BODIES for use as a manual rewrite reference. Trigger bodies follow the same pattern but are placed inline rather than deferred.

Foreign Keys in Demo mode — disabled and unchecked. See Demo Mode.

Script Options

Drop all existing database objects before executing script — includes DROP statements for all tables, views, stored procedures and functions in the target database before the CREATE statements. Drops all objects, including any not part of the source schema. Use with care.

Create database if it does not exist — adds CREATE DATABASE IF NOT EXISTS and USE at the top of the script, using the target database name from the Remote Configuration tab.

Output File

Enter the path in the Output File field or click Browse.

Generating the Script

Click Generate Script. The script is written to the output file and the application switches to the Migration tab.

Check the log panel for warnings: - Collation mapping failures (column receives the default collation) - Identifiers longer than 64 characters (MySQL/MariaDB limit) - CHECK constraint expressions that may need manual adjustment - Text indexes converted to FULLTEXT — application queries using EDB CONTAINS() must be rewritten to MATCH()…AGAINST(); tokenisation rules, stop words, and minimum word length differ between EDB and MySQL/MariaDB full-text search

See Also

(C) 2026 Easygate, Lda