orchestral/tenanti 驱动程序不支持错误?
orchestral/tenanti Driver not supported error?
我正在尝试在我的 laravel 5 安装中使用 orchestral/tenanti 包来启动多数据库多租户架构 运行 但我不确定在安装。
我已经仔细按照安装说明通过composer安装了包,在config/app.php
文件中定义了服务提供者和别名,我也继续编辑了AppServiceProvider的启动方法。
现在文档中的 this section 对我来说很模糊。它应该是什么意思?
在那之后,我应该如何从这里开始?
当我尝试像 tenanti:install
和其他类似的包附带的新 artisan 命令时,我不断收到错误 Driver [mysql] not supported
等等。我做错了什么以及如何正确设置此包以及设置包后去哪里。
在哪里创建主数据库的迁移文件以及在哪里创建租户数据库的迁移文件?我如何在我的代码中使用这个包?
此处的驱动程序描述了您的租户的唯一标识符,租户可以基于公司、团队、站点等。您甚至可能在一个应用程序中有多个驱动程序。
因此,为了描述驱动程序,您必须决定如何构建应用程序,假设您决定用户可以拥有多个站点,并且每个站点都有自己的租户数据库。
'drivers' => [
'site' => [
'model' => App\Site::class, \ The eloquent model for `sites` table.
'migration' => 'tenant_migrations',
'path' => database_path('tenanti/site'),
]
],
现在假设您已经创建了 App\Site
模型,并按照自述文件中的描述创建观察者。
您可以使用 php artisan tenanti:make site create_posts_table
创建新的迁移模式。此命令现在将在 database/tenant/site/
.
中创建一个新的迁移模式
完成迁移后,通过 Eloquent 或手动创建记录并 运行 php artisan tenanti:migrate site
。
多数据库租户问题
很容易让你的数据库连接在默认租户和当前租户之间交换(使用迁移等),但是当我们想运行从命令行迁移时,不可能在两者之间动态交换连接,因为我们不知道此信息(控制台不使用中间件)。
要解决此问题,您需要设置 Database Connection Resolver
我正在尝试在我的 laravel 5 安装中使用 orchestral/tenanti 包来启动多数据库多租户架构 运行 但我不确定在安装。
我已经仔细按照安装说明通过composer安装了包,在config/app.php
文件中定义了服务提供者和别名,我也继续编辑了AppServiceProvider的启动方法。
现在文档中的 this section 对我来说很模糊。它应该是什么意思?
在那之后,我应该如何从这里开始?
当我尝试像 tenanti:install
和其他类似的包附带的新 artisan 命令时,我不断收到错误 Driver [mysql] not supported
等等。我做错了什么以及如何正确设置此包以及设置包后去哪里。
在哪里创建主数据库的迁移文件以及在哪里创建租户数据库的迁移文件?我如何在我的代码中使用这个包?
此处的驱动程序描述了您的租户的唯一标识符,租户可以基于公司、团队、站点等。您甚至可能在一个应用程序中有多个驱动程序。
因此,为了描述驱动程序,您必须决定如何构建应用程序,假设您决定用户可以拥有多个站点,并且每个站点都有自己的租户数据库。
'drivers' => [
'site' => [
'model' => App\Site::class, \ The eloquent model for `sites` table.
'migration' => 'tenant_migrations',
'path' => database_path('tenanti/site'),
]
],
现在假设您已经创建了 App\Site
模型,并按照自述文件中的描述创建观察者。
您可以使用 php artisan tenanti:make site create_posts_table
创建新的迁移模式。此命令现在将在 database/tenant/site/
.
完成迁移后,通过 Eloquent 或手动创建记录并 运行 php artisan tenanti:migrate site
。
多数据库租户问题
很容易让你的数据库连接在默认租户和当前租户之间交换(使用迁移等),但是当我们想运行从命令行迁移时,不可能在两者之间动态交换连接,因为我们不知道此信息(控制台不使用中间件)。
要解决此问题,您需要设置 Database Connection Resolver