Integración de arrendamiento de múltiples bases de datos para FilamentPHP
Advertencia
Tenemos un problema conocido con route:cache
Si encuentra un problema con la conexión de múltiples bases de datos desde el lado de su inquilino, puede enfrentar este problema; simplemente use php artisan route:clear
y se solucionará.
Base de datos múltiple
Crear recurso de inquilino
Sincronizar recurso de inquilino
Cambio de contraseña
Suplantación de inquilino
Compartir datos de inquilinos
Tema personalizado para inquilinos
Componente Livewire para registrar nuevos inquilinos
El compositor requiere tomatephp/filamento-tenencia
Después de instalar su paquete, ejecute este comando.
Arrendamiento de filamentos artesanales de php: instalar
en tu .env
agrega esto
CENTRAL_DOMAIN=tomatephp.prueba
donde tomatophp.test
es su dominio central, y asegúrese de agregar un usuario root o que un usuario tenga permiso para crear una base de datos, luego en su panel central principal agregue este complemento
utilice TomatoPHPFilamentTenancyFilamentTenancyPlugin; ->complemento(FilamentTenancyPlugin::make()->panel('aplicación'))
ahora necesitas crear un panel para la aplicación de arrendamiento
filamento artesanal php:panel
y haga que el nombre sea el mismo que ->panel('app')
, en el panel de su aplicación de arrendamiento agregue este complemento
utilice TomatoPHPFilamentTenancyFilamentTenancyAppPlugin; ->complemento(FilamentTenancyAppPlugin::make())
ahora en tu configdatabase.php
agrega este código
...'conexiones' => ['dynamic' => ['driver' => 'mysql','url' => env('DATABASE_URL'),'host' => env('DB_HOST', '127.0. 0.1'),'puerto' => env('DB_PORT', '3306'),'database' => env('DB_DATABASE', 'forge'),'nombre de usuario' => env('DB_USERNAME', 'forge'),'contraseña' => env('DB_PASSWORD', ''),'unix_socket' => env('DB_SOCKET', ''),'charset' => 'utf8mb4 ','collation' => 'utf8mb4_unicode_ci','prefix' => '','prefix_indexes' => true,'strict' => verdadero,'motor' => nulo,'opciones' => extension_loaded('pdo_mysql')? array_filter([PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ], ... ],
ahora ejecuta config:cache
configuración artesanal de php: caché
en tu bootstrapapp.php
agrega este middleware
utilice StanclTenancyMiddlewareInitializeTenancyByDomain; utilice StanclTenancyMiddlewareInitializeTenancyBySubdomain; ->withMiddleware(función (Middleware $middleware) {$middleware->group('universal', [InitializeTenancyByDomain::clase,InitializeTenancyBySubdomain::clase, ]); })
puede permitir la suplantación de identidad en el panel tanent con 1 clic utilizando este método en su complemento
utilice TomatoPHPFilamentTenancyFilamentTenancyPlugin; ->complemento(FilamentTenancyPlugin::make() ->panel('aplicación') ->permitirSuplantar() )
puedes publicar el archivo de configuración usando este comando
Proveedor artesanal de php: publicar --tag="filament-tenancy-config"
puedes publicar archivos de vistas usando este comando
Proveedor artesanal de php: publicar --tag="filament-tenancy-views"
puedes publicar archivos de idiomas usando este comando
Proveedor artesanal de php: publicar --tag="filament-tenancy-lang"
puedes publicar el archivo de migraciones usando este comando
Proveedor artesanal de php: publicar --tag="filament-tenancy-migrations"
Echa un vistazo a nuestro impresionante TomatoPHP