public function onDatabaseTableMigrationApply()
{
$pluginCode = new PluginCode(Request::input('plugin_code'));
$model = new MigrationModel();
$model->setPluginCodeObj($pluginCode);
$model->fill($_POST);
$operation = Input::get('operation');
$table = Input::get('table');
$model->scriptFileName = 'builder_table_' . $operation . '_' . $table;
$model->makeScriptFileNameUnique();
$codeGenerator = new TableMigrationCodeGenerator();
$model->code = $codeGenerator->wrapMigrationCode($model->scriptFileName, $model->code, $pluginCode);
try {
$model->save();
} catch (Exception $ex) {
throw new ApplicationException($ex->getMessage());
}
$result = $this->controller->widget->databaseTabelList->updateList();
$result = array_merge($result, $this->controller->widget->versionList->refreshActivePlugin());
$result['builderResponseData'] = ['builderObjectName' => $table, 'tabId' => $this->getTabId($table), 'tabTitle' => $table, 'tableName' => $table, 'operation' => $operation, 'pluginCode' => $pluginCode->toCode()];
return $result;
}