Я перевожу свое приложение из 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
?