dongwu9647 2014-09-13 08:25
浏览 69
已采纳

在Laravel 4中即时创建新数据库

I want dynamically create new database, database user and password with privileges, create some tables in new database on the fly in Laravel 4 for every new user. This is for a multi tenant website.

Whats the best solution?

thanks.

  • 写回答

1条回答 默认 最新

  • dongshanfan1941 2014-09-13 13:01
    关注

    This is not your first database connection it's easy, but you'll have to execute raw statements because database creation is no available as connection methods:

    DB::statement(DB::raw('CREATE DATABASE <name>'));
    

    To do that you can use a secondary connection:

    <?php
    return array(
    
        'default' => 'mysql',
    
        'connections' => array(
    
            'mysql' => array(
                'driver'    => 'mysql',
                'host'      => 'host1',
                'database'  => 'database1',
                'username'  => 'user1',
                'password'  => 'pass1'
            ),
    
            'store' => array(
                'driver'    => 'mysql',
                'host'      => 'host2',
                'database'  => 'database2',
                'username'  => 'user2',
                'password'  => 'pass2'
            ),
        ),
    );
    

    Then you can, during application bootstrap, change the database of the secondary connection:

    DB::connection('store')->setDatabaseName($store);
    

    or

    Config::set('database.connections.store', $store);
    

    And use the secondary connection in your queries:

    $user = User::on('store')->find(1);
    

    or

    DB::connection('store')->select(...);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在sql server里完成筛选
  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了