首先,我没有任何数据库,我在迁移中编写代码来创建数据库,表和数据,我想检查数据库是否不存在然后自动创建新数据库在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'
答案 0 :(得分:1)
创建数据库通常不是通过迁移完成的,因为它会让您始终使用相同的数据库名称,如果您在同一服务器上部署多个站点或具有相似的方案,这将变得很大问题
通常假设数据库本身是作为设置的一部分创建的,无论是手动还是自动,因此可供PHP连接。