#php #laravel #multi-tenant
Вопрос:
Когда я создаю нового арендатора, миграции для нового арендатора не выполняются, и мне было интересно, как я буду автоматически запускать миграции для вновь созданного арендатора после его создания. Существует ли команда ремесленника, которая должна выполняться в фоновом режиме, чтобы она работала? Вот мой код контроллера до сих пор, когда поступает запрос на создание арендатора.
public function store(Request $request)
{
$this->validate($request, [
'company' => 'required',
'domain' => 'required|unique:domains',
'name' => 'required',
'email' => 'required|unique:users,email',
'password' => 'required|confirm'
]);
$tenant_id = '-' . Str::slug($request->company, '-');
$domain = $request->domain . '.' . 'saas.test';
$tenant = Tenant::create([
'id' => $tenant_id
]);
$tenant->createDomain([
'domain' => $domain
]);
$tenant->run(function()
{
User::create([
'name' => $request->name,
'email' => $request->email,
'password' => bcrypt($request->password)
]);
});
tenancy()->initialize($tenant);
return redirect($domain);
}
Ответ №1:
Попробуйте запустить команду artisan в своем методе контроллера: Artisan::call(‘tenants:migrate’);
Комментарии:
1. ничего не делает.
2. я заставил его работать, я только что сделал Artisan::call(«арендаторы:мигрируют»)
3. Моя вина. В следующий раз я буду более сосредоточен на ответе