Search in sources :

Example 1 with MySQLTableForeignKeyColumn

use of org.jkiss.dbeaver.ext.mysql.model.MySQLTableForeignKeyColumn in project dbeaver by serge-rider.

the class MySQLForeignKeyConfigurator method configureObject.

@Override
public MySQLTableForeignKey configureObject(DBRProgressMonitor monitor, Object table, MySQLTableForeignKey foreignKey) {
    return UITask.run(() -> {
        EditForeignKeyPage editPage = new EditForeignKeyPage(MySQLUIMessages.edit_foreign_key_manager_title, foreignKey, new DBSForeignKeyModifyRule[] { DBSForeignKeyModifyRule.NO_ACTION, DBSForeignKeyModifyRule.CASCADE, DBSForeignKeyModifyRule.RESTRICT, DBSForeignKeyModifyRule.SET_NULL, DBSForeignKeyModifyRule.SET_DEFAULT });
        if (!editPage.edit()) {
            return null;
        }
        foreignKey.setReferencedKey((MySQLTableConstraint) editPage.getUniqueConstraint());
        foreignKey.setDeleteRule(editPage.getOnDeleteRule());
        foreignKey.setUpdateRule(editPage.getOnUpdateRule());
        int colIndex = 1;
        for (EditForeignKeyPage.FKColumnInfo tableColumn : editPage.getColumns()) {
            foreignKey.addColumn(new MySQLTableForeignKeyColumn(foreignKey, (MySQLTableColumn) tableColumn.getOwnColumn(), colIndex++, (MySQLTableColumn) tableColumn.getRefColumn()));
        }
        return foreignKey;
    });
}
Also used : MySQLTableForeignKeyColumn(org.jkiss.dbeaver.ext.mysql.model.MySQLTableForeignKeyColumn) EditForeignKeyPage(org.jkiss.dbeaver.ui.editors.object.struct.EditForeignKeyPage) MySQLTableColumn(org.jkiss.dbeaver.ext.mysql.model.MySQLTableColumn) MySQLTableConstraint(org.jkiss.dbeaver.ext.mysql.model.MySQLTableConstraint)

Example 2 with MySQLTableForeignKeyColumn

use of org.jkiss.dbeaver.ext.mysql.model.MySQLTableForeignKeyColumn in project dbeaver by dbeaver.

the class MySQLForeignKeyConfigurator method configureObject.

@Override
public MySQLTableForeignKey configureObject(DBRProgressMonitor monitor, Object table, MySQLTableForeignKey foreignKey) {
    return UITask.run(() -> {
        EditForeignKeyPage editPage = new EditForeignKeyPage(MySQLUIMessages.edit_foreign_key_manager_title, foreignKey, new DBSForeignKeyModifyRule[] { DBSForeignKeyModifyRule.NO_ACTION, DBSForeignKeyModifyRule.CASCADE, DBSForeignKeyModifyRule.RESTRICT, DBSForeignKeyModifyRule.SET_NULL, DBSForeignKeyModifyRule.SET_DEFAULT });
        if (!editPage.edit()) {
            return null;
        }
        foreignKey.setReferencedKey((MySQLTableConstraint) editPage.getUniqueConstraint());
        foreignKey.setDeleteRule(editPage.getOnDeleteRule());
        foreignKey.setUpdateRule(editPage.getOnUpdateRule());
        int colIndex = 1;
        for (EditForeignKeyPage.FKColumnInfo tableColumn : editPage.getColumns()) {
            foreignKey.addColumn(new MySQLTableForeignKeyColumn(foreignKey, (MySQLTableColumn) tableColumn.getOwnColumn(), colIndex++, (MySQLTableColumn) tableColumn.getRefColumn()));
        }
        return foreignKey;
    });
}
Also used : MySQLTableForeignKeyColumn(org.jkiss.dbeaver.ext.mysql.model.MySQLTableForeignKeyColumn) EditForeignKeyPage(org.jkiss.dbeaver.ui.editors.object.struct.EditForeignKeyPage) MySQLTableColumn(org.jkiss.dbeaver.ext.mysql.model.MySQLTableColumn) MySQLTableConstraint(org.jkiss.dbeaver.ext.mysql.model.MySQLTableConstraint)

Aggregations

MySQLTableColumn (org.jkiss.dbeaver.ext.mysql.model.MySQLTableColumn)2 MySQLTableConstraint (org.jkiss.dbeaver.ext.mysql.model.MySQLTableConstraint)2 MySQLTableForeignKeyColumn (org.jkiss.dbeaver.ext.mysql.model.MySQLTableForeignKeyColumn)2 EditForeignKeyPage (org.jkiss.dbeaver.ui.editors.object.struct.EditForeignKeyPage)2