hgg/dbcmd

用于构建和执行针对数据库的管理命令的包装器

v0.0.1 2014-11-07 11:28 UTC

This package is not auto-updated.

Last update: 2024-09-14 13:31:44 UTC


README

PHP应用程序内运行针对数据库的命令行API(以前为hgg/dbbackup)的通用API。

Build Status

警告:为了非交互式运行,命令包含密码,这可能会被认为是不安全的。

操作包括

  • 创建数据库
  • 删除数据库
  • 将表导出到备份文件
  • 将数据库导出到备份文件
  • 从备份文件加载表

安装

使用Composer

{
    "require": {
        "hgg/dbcmd": "dev-master"
    }
}

下载源代码并手动添加到项目中

  • 在此获取zip文件

支持的数据库

  • MySql

欢迎提交针对其他数据库引擎的Pull Requests!

使用方法

导出整个数据库

use HGG\DbCmd\CmdBuilder\MySql;
use HGG\DbCmd\DbCmd;

try
{
    $output = '';
    $cmd = new DbCmd(new MySql());
    $cmd->dumpDatabase('username', 'password', 'localhost', 'database',
        'dumpFile', array(), &$output);
    
    // log $output
}
catch (\Exception $e)
{
    // deal with failure
}

导出数据库中的特定表

use HGG\DbCmd\CmdBuilder\MySql;
use HGG\DbCmd\DbCmd;

try
{
    $output = '';
    $cmd = new DbCmd(new MySql());
    $cmd->dumpTables('username', 'password', 'localhost', 'database',
        array('table1', 'table2'), 'dumpFile', array(), &$output);
    
    // log $output
}
catch (\Exception $e)
{
    // deal with failure
}

从备份文件恢复

use HGG\DbCmd\CmdBuilder\MySql;
use HGG\DbCmd\DbCmd;

try
{
    $output = '';
    $cmd = new DbCmd(new MySql());
    $cmd->load('username', 'password', 'localhost', 'database',
        'dumpFile', array(), &$output);
    
    // log $output
}
catch (\Exception $e)
{
    // deal with failure
}