InstallDao.class.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * @name eolinker ams open source,eolinker开源版本
  4. * @link https://www.eolinker.com/
  5. * @package eolinker
  6. * @author www.eolinker.com 广州银云信息科技有限公司 ©2015-2018
  7. * eoLinker是目前全球领先、国内最大的在线API接口管理平台,提供自动生成API文档、API自动化测试、Mock测试、团队协作等功能,旨在解决由于前后端分离导致的开发效率低下问题。
  8. * 如在使用的过程中有任何问题,欢迎加入用户讨论群进行反馈,我们将会以最快的速度,最好的服务态度为您解决问题。
  9. *
  10. * eoLinker AMS开源版的开源协议遵循Apache License 2.0,如需获取最新的eolinker开源版以及相关资讯,请访问:https://www.eolinker.com/#/os/download
  11. *
  12. * 官方网站:https://www.eolinker.com/
  13. * 官方博客以及社区:http://blog.eolinker.com/
  14. * 使用教程以及帮助:http://help.eolinker.com/
  15. * 商务合作邮箱:market@eolinker.com
  16. * 用户讨论QQ群:284421832
  17. */
  18. class InstallDao
  19. {
  20. /**
  21. * 检查数据库是否可以连接
  22. */
  23. public function checkDBConnect()
  24. {
  25. $conInfo = DB_TYPE . ':host=' . DB_URL . ';port=' . DB_PORT . ';dbname=' . DB_NAME . ';charset=utf8';
  26. $option = array(
  27. \PDO::MYSQL_ATTR_INIT_COMMAND => "set names 'utf8'",
  28. \PDO::ATTR_EMULATE_PREPARES => FALSE
  29. );
  30. $db_con = new \PDO($conInfo, DB_USER, DB_PASSWORD, $option);
  31. return $db_con;
  32. }
  33. /**
  34. * 安装数据库
  35. * @param $sqlArray array 创建数据库的语句
  36. * @return bool
  37. */
  38. public function installDatabase(&$sqlArray)
  39. {
  40. $db = getDatabase();
  41. $db->beginTransaction();
  42. try {
  43. foreach ($sqlArray as $query) {
  44. $db->query($query);
  45. if ($db->getError()) {
  46. $db->rollback();
  47. return FALSE;
  48. }
  49. }
  50. } catch (\Exception $e) {
  51. var_dump($e->getMessage());
  52. $db->rollback();
  53. return FALSE;
  54. }
  55. $db->commit();
  56. return TRUE;
  57. }
  58. }
  59. ?>