Php Codeigniter 3中的自动切换数据库
我有一个提供web服务的应用程序,但数据库有问题。问题是,我的数据库每天都会更新,因此我的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 = [
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
?谢谢您的解决方案。根据我阅读的指南,我想我必须在我编写的代码中为每个模型创建连接。我说得对吗?