Я работаю над приложением laravel 4, в котором я хочу, чтобы пользователь регистрировался для приложения, и когда они регистрируются, приложение должно разрешить новую пустую базу данных зарегистрированному пользователю, я использую mysql для внутреннего интерфейса, я знаю, следующий код, чтобы установить соединение с базой данныхСоздание базы данных на лету
Config::set('database.connections', ConnectionArray);
и установить его по умолчанию
Config::set('database.default', ConnectionKey);
для подключения другой базы данных вручную я могу использовать этот способ
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'database',
'username' => 'root',
'password' => '123456',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
'mysql_tenant1' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'tenant1',
'username' => 'root',
'password' => '123456',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
Но я хочу, приложение должно создать базу данных динамически ...
Это не очень хорошая идея иметь разные базы данных для разных пользователей, каков сценарий? –
На самом деле я работаю над SaaS-приложением, поэтому каждый пользователь будет иметь одну базу данных, и все данные базы данных будут храниться в основной базе данных ... поэтому, когда пользователь зарегистрируется в приложении, приложение должно выделить новую пустую базу данных на зарегистрированный пользователь ... здесь мне нужно работать с доменом и поддоменом все ... но проблема в том, чтобы создать новую базу данных ... – Rajat
Я понимаю, что вы строите SaaS, но ... Изображение вам нужно изменить таблицу по какой-то причине, через полгода после запуска службы, имея 1000 пользователей. Да, вам нужно изменить 1000 баз данных, а не один. Просто придерживайтесь отношений и одной базы данных. – Andreyco