#include "stdafx.h"

#include "wb_config.h"

#include "db_rev_eng_be.h"


void Db_rev_eng::grtm(bec::GRTManager *grtm)
{
  Db_plugin::grtm(grtm);
  Sql_import::grtm(grtm);
}


std::string Db_rev_eng::task_desc()
{
  return "Reverse engineer database";
}


db_CatalogRef Db_rev_eng::target_catalog()
{
  return Db_plugin::model_catalog();
}


std::string Db_rev_eng::sql_script()
{
  std::string sql_script;
  Db_plugin::dump_ddl(sql_script);
  return sql_script;
}


void Db_rev_eng::parse_sql_script(SqlFacade *sql_parser, db_CatalogRef &catalog, const std::string &sql_script, grt::DictRef &options)
{
  grt::AutoUndo undo(_grtm->get_grt());
  sql_parser->parseSqlScriptStringEx(catalog, sql_script, options);
  undo.end(_("Reverse Engineer Database"));
}


