Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter 3中的自动切换数据库_Php_Codeigniter_Automation - Fatal编程技术网

Php Codeigniter 3中的自动切换数据库

Php Codeigniter 3中的自动切换数据库,php,codeigniter,automation,Php,Codeigniter,Automation,我有一个提供web服务的应用程序,但数据库有问题。问题是,我的数据库每天都会更新,因此我的dba会创建另一个db来备份第一个db。假设我的第一个db名称是db01,备份名称是db02。在更新db01并且我使用db02等待db01完成更新时,是否有任何方法使autogenerate自动生成?尝试以下操作,不要忘了在查询中替换正确的变量和表名 // https://www.codeigniter.com/userguide3/database/connecting.html $config = [

我有一个提供web服务的应用程序,但数据库有问题。问题是,我的数据库每天都会更新,因此我的
dba
会创建另一个
db
来备份第一个
db
。假设我的第一个
db
名称是
db01
,备份名称是
db02
。在更新
db01
并且我使用
db02
等待
db01
完成更新时,是否有任何方法使autogenerate自动生成?

尝试以下操作,不要忘了在查询中替换正确的变量和表名

// https://www.codeigniter.com/userguide3/database/connecting.html
$config = [
    'hostname'  => 'localhost',
    'username'  => 'username',
    'password'  => 'password',
    'database'  => 'db01',
    'dbdriver'  => 'mysqli',
]
$conn = $this->load->database($config);
// http://stackoverflow.com/questions/167576/check-if-table-exists-in-sql-server
$query = $this->db->query('SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME="TheTable"');
if ($query->num_fields() > 0) {
    $config['database'] = 'db02';
    $conn = $this->load->database($config);
}

免责声明:我从未使用过CodeIgniter。

您不能让DBA生成一个新表并在完成后对其进行快速重命名吗?重命名几乎是即时的。这可能吗?我的数据库使用sql server。我的dba说这是不可能的@很抱歉,我读了“数据库”,但理解了“表”,因为它们很不幸可以互换使用。如果只是关于表,它们很容易重命名,数据库我不确定。嗯,知道“不确定”真让人难过@kalkranh你怎么知道
db01
正在更新?你能在申请表上核对一下吗?如果您无法连接到
db01
,您可以返回到
db02
?谢谢您的解决方案。根据我阅读的指南,我想我必须在我编写的代码中为每个模型创建连接。我说得对吗?