CodeIgniter - 从主SQL文件创建多个数据库

时间:2014-06-26 13:25:27

标签: php mysql sql codeigniter

获取包含模式和表创建语句的.sql文件并使用它从CodeIgniter中创建新数据库的最佳方法是什么?我希望能够做的是使用这个.sql文件作为具有相同模式的几个数据库的蓝图,但可以随时创建。

我想我只需要能够获取此文件,提取内容并将其回显到数据库查询中。有没有更好的方法呢?

我还需要能够在提交查询之前将自定义数据库名称注入到语句中。我该怎么做?只需要一个占位符关键字并用数据库名称替换preg?

为了确保所有数据库都是同步维护的,我想也许这个蓝图模式应该作为模块添加到CodeIgniter中。这样,如果我需要更改架构,我可以使用更新的.sql文件上传新版本的模块,并在所有数据库中执行必要的迁移。声音合理吗?如果是这样,我将如何解决这个问题?

1 个答案:

答案 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);
      }
}