В многотенантном приложении Laravel Hyn при регистрации новой аренды происходит попытка воссоздать таблицы базы данных аPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 В многотенантном приложении Laravel Hyn при регистрации новой аренды происходит попытка воссоздать таблицы базы данных а

Сообщение Anonymous »

Я использую многопользовательское приложение Laravel 10 с паспортом 11. Это устаревшее приложение, которому несколько лет, и оно работало очень хорошо, пока я не обновил свой Laravel с 9 до 10 и паспорт с 10 до 11. Когда я пытаюсь создать аренду, все работает до тех пор, пока не появится сообщение "$company = Tenant: :create($request);" который также работает довольно хорошо до определенного момента. Он создает запись в таблицах tenancy.hostnames и tenancy.websites соответственно, а также создает пользовательскую базу данных для новой аренды. Однако он пытается воссоздать все системные таблицы, находящиеся в базе данных арендатора. Эти файлы миграции используются всем приложением и расположены в папке миграции, а остальные, составляющие базу данных каждой тенденции, находятся в папке миграции/тенанта. Я действительно не понимаю, почему создание новой аренды пытается воссоздать таблицы в базе данных арендаторов, которая, очевидно, уже существует. Когда это происходит, я получаю эту ошибку

SQLSTATE[42S01]: базовая таблица или представление уже существует: 1050 Таблица «веб-сайты» уже существует (соединение: система, SQL : создавать веб-сайты таблиц ( bigint unsigned not null auto_increment первичный ключ, uuid varchar(191) not null, созданный_at метка времени ноль, обновленный_at метка времени ноль, удаленный_at метка времени ноль) символ по умолчанию установите utf8mb4 сопоставление 'utf8mb4_unicode_ci')

это моя функция регистрации

Код: Выделить всё

public function register(Request $request)
{
$facility_name = Hostname::where('tenant_facility_name', $request->tenant_facility_name)->first();
$checkEmail = Hostname::where('email', $request->email)-`>`first();
$fqdn = Hostname::where('subdomain', $request->fqdn)->first();

if($facility_name){
return response(['message' => 'A facility with this name already exist'], 409);
}
if ($checkEmail) {
return response(['message' => 'A facility with this email already exist'], 409);
}
if ($fqdn) {
return response(['message' => 'A facility with this name already exist'], 409);
}

// Validate the incoming request
$this->validator($request->all())->validate();

try {
// create Tenant Account
$company = Tenant::create($request);
} catch(\Exception $e) {
return response($e->getMessage(), 405);
}

event(new Registered($user = $this->create($request->all())));
// set trial period for new account without actual subscription for 30 days
// $host = HostnameModel::where('fqdn', $company->hostname->fqdn)->first();
// $host->trial_ends_at = now()->addDays(30);
// $host->save();
$this->createTrialPeriod($request->email);

// Function to send email
$name = $request->othernames . ' ' .  $request->surname;
$email = $request->email;
$facilityName = $request->tenant_facility_name;

// Send email to new account admin
try {
Mail::to($email)->send(new TenantAccountCreation($name, $email, $facilityName));
} catch(\Exception $e) {
// sending 200 so that the registration continues without queing email to new account user
return response($e->getMessage(), 200);
}

return response()->json(['message' => 'Account Has Been Created Successfully'], 200);
}
а это мой файл Tenant.php

Код: Выделить всё


Подробнее здесь: [url]https://stackoverflow.com/questions/78648851/in-a-laravel-hyn-multi-tenant-app-registering-a-new-tenancy-tries-to-recreate-t[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Маршруты тестирования аренды Laravel не работают
    Anonymous » » в форуме Php
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Миграция ядра Ef для создания таблиц на основе схемы в многотенантном приложении asp.net core
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как создать пул соединений в многотенантном приложении?
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как создать пул соединений в многотенантном приложении?
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как создать пул соединений в многотенантном приложении?
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»