Однажды мне захотелось для каждого пользователя завести свою собственную статистику и при этом не лезть в основную базу данных. Причём эта статистика должна бы иметь свойство подвергаться различным запросам и фильтрам, и я подумал, а почему бы для каждого пользователя не создавать свою SQLite базу. Короче…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
use App\Http\Requests; use Config; use Schema; class TestController extends Controller { public function index() { #........... тут какая-то логика $db_name = 'mybase'; $bd_path = "../db/$db_name.sqlite"; # Указываем путь и создаём файл базы если его нет if(!file_exists($bd_path)){ file_put_contents($bd_path, ''); } # Динамически создаём конфигурацию подключения Config::set('database.connections.'.$db_name, array( 'driver' => 'sqlite', 'database' => $bd_path, )); # Используя созданное подключение создаём таблицы Schema::connection($db_name)->create('mytable', function($table) { $table->increments('id'); $table->string('name'); }); #........... тут какая-то логика } } |