tenancy-docs/source/docs/v3/integrations/sail.blade.md
Chinmay Purav 6e72849a04 wip
2022-10-13 01:03:31 +05:30

34 lines
1.5 KiB
Markdown

---
title: Laravel Sail integration
extends: _layouts.documentation
section: content
---
# Laravel Sail {#sail}
## Creating tenants
By default sail has the `ALL` privilege on the default database (here it is the central database).
In order to create, read, update and delete opreations related to the database, we will assign `ALL` privilege on all databases via the wildcard `*`;
To do so either login to the mysql shell or via any client using root user credentials and run the following statements
```bash
GRANT ALL PRIVILEGES on *.* to 'sail'@'%';
FLUSH PRIVILEGES;
```
### Specifying Database Credentials {#specifying-database-credentials}
While working with sail, it offers a database user `sail` which just have the privileges for just the one database created at the inception of the project (central database in our tenancy case). This user does not have the privileges to create new users or `GRANT OPTION` privilege, which is used to grant permissions to other users.
If you want to use custom users (one user for each respective database), you will need `GRANT OPTION` grant on your central database user (`sail` in this case), otherwise you cannot grant permissions to the newly created user and will result in an error.
To avoid this failure, run the following SQL from root user:
```sql
GRANT GRANT OPTION on central_database.* to 'sail'@'%';
FLUSH PRIVILEGES;
```
*For more info see [Specifying Database Credentials]({{ $page->link('customizing-databases#specifying-database-credentials') }})*