Как мигрировать в разные базы данных? - PullRequest
1 голос
/ 23 сентября 2019

У меня есть это программное обеспечение, и мне нужно создавать новые учреждения (например, детские сады).Как мигрировать в эту новую базу данных?

if ($newDb) {
      Config::set('database.connections.th', [
        'driver' => 'mysql',
        'host' => 'localhost',
        'port' => '3306',
        'database' => 'kindergarden'.$institutionId,
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'timezone' => '+00:00',
        'strict' => false,
    ]);
    return \Illuminate\Support\Facades\Artisan::call('migrate');
    }

И миграции похожи на

public function up()
{
    Schema::create('students', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('first_name', 100);
        $table->string('last_name', 100);
        $table->tinyInteger('gender');
        $table->date('date_of_birth');
        $table->string('address', 150);
        $table->string('phone_number', 20);
        $table->string('email', 100);
        $table->unsignedTinyInteger('status')->default(1);
        $table->timestamps();
        $table->softDeletes();
    });
}

1 Ответ

0 голосов
/ 23 сентября 2019

Установите подключение базы данных не по умолчанию в вашей таблице миграции

Schema::connection('th')->create('students', function (Blueprint $table)

Это сообщит artisan о миграции этой таблицы в указанную базу данных в вашей конфигурации

Из Документы

Подключение к базе данных и параметры таблицы

Если вы хотите выполнить операцию схемы с подключением к базе данных, отличным от используемого по умолчанию connection, используйтеспособ подключения:

Schema::connection('foo')->create('users', function (Blueprint $table) {
    $table->bigIncrements('id');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...