Forward Engineering Using an SQL Script Creating a Schema Altering a Schema

To create a script of your database model, choose the Export item from the File menu. You may export a script to alter an existing database or create a new database. The script to create a database is similar to the one created using the mysqldump db_name command.

Choosing to create a database yields additional options. Creating a Schema

Select the File, Export, Forward Engineer SQL CREATE Script menu item to start the Forward Engineer SQL Script wizard. The following figure shows the first page of the wizard.

Figure 9.30 SQL Export Options

The figure content is described in the surrounding text.

The SQL Export Options displays the following facilities:

  • Output SQL Script File

    To specify the output file name, enter it into the Output SQL Script File field, or use the Browse button to select a file. Leave this field blank to view, but not save, the generated output.

  • Generate DROP Statements Before Each CREATE Statement

    Select this option to generate a statement to drop each object before the statement that creates it. This ensures that any existing instance of each object is removed when the output is executed.

  • Generate DROP SCHEMA

  • Skip creation of FOREIGN KEYS

  • Skip creation of FK Indexes as well

  • Omit Schema Qualifier in Object Names

    Select this option to generate unqualified object names in SQL statements.

  • Generate USE statements

  • Generate Separate CREATE INDEX Statements

    Select this option to create separate statements for index creation instead of including index definitions in CREATE TABLE statements.

  • Add SHOW WARNINGS after every DDL statement

    Select this option to add SHOW WARNINGS statements to the output. This causes display of any warnings generated when the output is executed, which can be useful for debugging.

  • Do Not Create Users. Only Export Privileges

    Select this option to update the privileges of existing users, as opposed to creating new users. Exporting privileges for nonexistent users will result in errors when you execute the CREATE script. Exporting users that already exist will also result in an error.

  • Don't create view placeholder tables

  • Generate INSERT Statements for Tables

    Select this option if you have added any rows to a table. For more information about inserting rows, see Section 8.1.1, “SQL Query Window”.

  • Disable FK checks for inserts

  • Create triggers after inserts

Clicking Next takes you to the SQL Object Export Filter page where you select the objects you wish to export.

Figure 9.31 SQL Object Export Filter

The figure content is described in the surrounding text.

Use Show Filter to fine tune (filter) the objects for export. After selecting the objects to export, click Hide Filter to hide the filter panel.

After selecting the objects to export, click Next to review the generated script.

Figure 9.32 Review Generated Script

The figure content is described in the surrounding text.

You may return to the previous page using the Back button.

The Finish button saves the script file and exits. You can then use the saved script to create a database. Altering a Schema

The menu item for creating an ALTER Script File is Database, Synchronize With Any Source. Typically, this option is used when the SQL script of a database has been imported into MySQL Workbench and changed, and then you want to create a script that can be executed against the database to alter it to reflect the adjusted model. For instructions on importing a DDL script, see Section, “Reverse Engineering Using a Create Script”.

Select the Database, Synchronize With Any Source menu item to start the wizard. You will be presented with the first page showing the introduction, and then the available options:

Figure 9.33 Synchronize With Any Source: Options

The figure content is described in the surrounding text.

For additional information, see Section 9.5.1, “Database Synchronization”.