获取包含模式和表创建语句的.sql文件并使用它从CodeIgniter中创建新数据库的最佳方法是什么?我希望能够做的是使用这个.sql文件作为具有相同模式的几个数据库的蓝图,但可以随时创建。
我想我只需要能够获取此文件,提取内容并将其回显到数据库查询中。有没有更好的方法呢?
我还需要能够在提交查询之前将自定义数据库名称注入到语句中。我该怎么做?只需要一个占位符关键字并用数据库名称替换preg?
为了确保所有数据库都是同步维护的,我想也许这个蓝图模式应该作为模块添加到CodeIgniter中。这样,如果我需要更改架构,我可以使用更新的.sql文件上传新版本的模块,并在所有数据库中执行必要的迁移。声音合理吗?如果是这样,我将如何解决这个问题?
答案 0 :(得分:1)
之前我已经完成了这个(运行.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);
}
}