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; }