Я codeigniter
создать базу данных и таблицу для каждого клиента, зарегистрированного на моем сайте codeigniter
, я смотрю документацию dbforge
и dbforge
код ниже.
но появилась ошибка, я хочу сделать ее динамичной для каждого клиента, поэтому ее размещение на config/database.php недоступно, есть ли способ предотвратить это? Я новичок с codeigniter, не уверен, что код ниже также верен.
You have specified an invalid database connection group (customer_LYWA) in your config/database.php file.
public function create_customer_database($code){
$database = $this->dbutil->database_exists('customer_'.$code);
if($database){
return "";
}else{
$this->dbforge->create_database('customer_'.$code);
$fields = array(
'blog_id' => array(
'type' => 'INT',
'constraint' => 5,
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'blog_title' => array(
'type' => 'VARCHAR',
'constraint' => '100',
),
'blog_author' => array(
'type' =>'VARCHAR',
'constraint' => '100',
'default' => 'King of Town',
),
'blog_description' => array(
'type' => 'TEXT',
'null' => TRUE,
),
);
$this->dbforge->add_field($fields);
$this->dbforge->add_key('blog_id', TRUE);
// gives PRIMARY KEY (blog_id)
$this->dbforge->add_key('blog_title');
// gives KEY (blog_title)
$otherdb = $this->load->database('customer_'.$code, TRUE);
$this->dbforge->create_table('blog');
return "created";
}
}
Я думаю, вы пытаетесь создать таблицу для каждого клиента.
С этим, я думаю, вы запутываете базы данных со столами. базы данных содержат таблицы, поэтому вам нужно будет подключиться к правильной базе данных в config/database.php и использовать свой скрипт для создания таблиц внутри этой базы данных.
Вам не нужно создавать новую базу данных для каждого клиента. Это сделало бы вещи в 100 раз тяжелее, чем они должны быть, и их будет очень сложно поддерживать.