获取包含架构和表创建语句的 .sql 文件并使用它从 CodeIgniter 中创建新数据库的最佳方法是什么?我想要做的是使用这个 .sql 文件作为具有相同架构的多个数据库的蓝图,但可以随时创建。
我想我只需要能够获取该文件,提取内容并将其回显到数据库查询中。有更好的方法吗?
我还需要能够在提交查询之前将自定义数据库名称注入(inject)到语句中。我该怎么办呢?只需一个占位符关键字并用数据库名称进行 preg 替换?
为了确保所有数据库同步维护,我认为也许这个蓝图模式应该作为模块添加到 CodeIgniter 中。这样,如果我需要更改架构,我可以上传带有更新的 .sql 文件的新版本模块,并在所有数据库中执行必要的迁移。听起来合理吗?如果是这样,我该怎么办?
最佳答案
我之前已经这样做过(运行.sql文件),并且我使用了这个;
$sql = read_file('path/to/file.sql');
$final = '';
foreach(explode("\n", $sql) as $line)
{
if ( isset($line[0]) && $line[0] != '#' )
{
$final .= $line . "\n";
}
}
foreach (explode(";\n", final) as $sql)
{
if ($sql)
{
$this->db->query($sql);
}
}
关于php - CodeIgniter - 从主 SQL 文件创建多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24431813/