如果FuelPHP中不存在,则创建数据库

时间:2014-09-24 01:37:42

标签: php database fuelphp

首先,我没有任何数据库,我在迁移中编写代码来创建数据库,表和数据,我想检查数据库是否不存在然后自动创建新数据库在db connect中有名称并尝试catch这连接如果错误。

public function up()
{
    try {
        \DBUtil::create_database('database_name', 'utf8_general_ci', true);
        // the true flag adds a IF NOT EXISTS
    } catch(\Database_Exception $e) {
        echo $e->getMessage();
    }
}

尝试代码,但会出错"未知的数据库database_name"当我运行" php oil refine migrate"在命令行

我可以尝试捕获自定义异常此错误吗?

1049!

Fuel\Core\Database_Exception [ 1049 ]:
SQLSTATE[HY000] [1049] Unknown database 'database_name'

1 个答案:

答案 0 :(得分:1)

创建数据库通常不是通过迁移完成的,因为它会让您始终使用相同的数据库名称,如果您在同一服务器上部署多个站点或具有相似的方案,这将变得很大问题

通常假设数据库本身是作为设置的一部分创建的,无论是手动还是自动,因此可供PHP连接。