Laravel указывает папку миграции, когда я запускаю миграцию базы данных через phphunit, используя черту `RefreshDatabase` laravel - PullRequest
0 голосов
/ 03 июля 2019

Я перевожу свое приложение из Codeigniter в laravel, также мы находимся в процессе итерации и модульных тестов.

База данных состоит из 2 баз данных:

  • old Это тот, который используется от исходного codeigniter.
  • new Используется для других функций, не связанных с проектом codeingiter.

Поэтому я хочу сделатьсценарий миграции, используемый для базы данных old, но во избежание сбоев я хочу указать определенную папку для сценариев миграции для каждой базы данных.

Поэтому я нашел этот инструмент: https://github.com/Xethron/migrations-generatorи с помощью этой справочной информации:

Description:
  Generate a migration from an existing table structure.

Usage:
  migrate:generate [options] [--] [<tables>]

Arguments:
  tables                              A list of Tables you wish to Generate Migrations for separated by a comma: users,posts,comments

Options:
  -c, --connection[=CONNECTION]       The database connection to use. [default: "etable_api"]
  -t, --tables[=TABLES]               A list of Tables you wish to Generate Migrations for separated by a comma: users,posts,comments
  -i, --ignore[=IGNORE]               A list of Tables you wish to ignore, separated by a comma: users,posts,comments
  -p, --path[=PATH]                   Where should the file be created?
      --defaultIndexNames             Don't use db index names for migrations
      --defaultFKNames                Don't use db foreign key names for migrations
  -h, --help                          Display this help message
  -q, --quiet                         Do not output any message
  -V, --version                       Display this application version
      --ansi                          Force ANSI output
      --no-ansi                       Disable ANSI output
  -n, --no-interaction                Do not ask any interactive question
      --env[=ENV]                     The environment the command should run under
  -tp, --templatePath[=TEMPLATEPATH]  The location of the template for this generator
  -v|vv|vvv, --verbose                Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Я могу использовать следующую последовательность команд для создания выделенной папки для сценария миграции:

mkdir -p ./database/migration/old
php artisan migrate:generate -c old -p ./database/migration/old

А через ремесленника я могу запуститьмиграции через:

php artisan migrate -c old -p ./database/migration/old

Поэтому я могу использовать предоставленное laravel решение:

namespace Tests\Feature;

use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;

class ExampleTest extends TestCase
{
    use RefreshDatabase;

    /**
     * A basic functional test example.
     *
     * @return void
     */
    public function testBasicExample()
    {
      // Do some fancy stuff here
    }
}

Но как я могу указать указанную папку для скрипта миграциибаза данных, в которой я хочу участвовать в тесте при использовании Illuminate\Foundation\Testing\RefreshDatabase?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...