首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用laravel在其中动态创建数据库和表

使用laravel在其中动态创建数据库和表
EN

Stack Overflow用户
提问于 2019-04-30 15:09:56
回答 1查看 903关注 0票数 0

我想创建一个新的数据库动态和数据库(用户)与特权,表在新的数据库中为每个新的用户在飞行中,只与不使用命令提示符/控制台的代码。是的,我对laravel几乎是个新手,但我对PHP有很好的了解。

我在DB::statement上进行了一些搜索,以创建一个数据库,但没有得到太多信息。我也尝试过像artisan::call(migrate)这样的迁移工具,但在这方面也得不到任何清晰的东西。

我想要使用laravel代码的解决方案,而不是来自/for命令提示符的命令。

EN

回答 1

Stack Overflow用户

发布于 2019-04-30 15:22:26

您必须使用Eloquent胶囊管理器在代码中创建表。

代码语言:javascript
复制
use Illuminate\Database\Capsule\Manager as Capsule;



        $capsule = new Capsule();

        $capsule->addConnection([
            'driver' => config('database.connections.mysql.driver),
            'host' => config('database.connections.mysql.host),
            'database' => config('database.connections.mysql.database),
            'username' => config('database.connections.mysql.username),
            'password' => config('database.connections.mysql.password),
            'charset' => config('database.connections.mysql.charset),
            'collation' => config('database.connections.mysql.collation),
            'prefix' => config('database.connections.mysql.prefix),
        ]);

然后你可以像这样创建表格。请务必检查表是否存在:

代码语言:javascript
复制
         if(!Capsule::schema()->hasTable($this->table)){

            Capsule::schema()->create($this->table, function (Blueprint $table) {
                $table->engine = 'InnoDB';
                $table->charset = 'utf8';
                $table->increments('id');
                $table->string('email')->unique();
               .
               .
               .
                });
            }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55915624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档