Миграции
Оглавление
1.
Введение
Введение #
К оглавлению
Миграции, это система контроля версий для баз данных. Очень удобный сервис для хранения и переноса изменений, особенно при работе в команде. Не нужно объяснять, что именно было изменено в базе, достаточно поделиться миграциями.
Миграции обычно работают на основе построителя запросов, ABC-framework предоставляет собственную систему миграций на основе внутреннего построителя запросов.
Для того, что бы воспользоваться компонентом, необходимо в корне директории
App/ создать файл
abc без расширения со следующим содержимым:
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/env php
<?php
require __DIR__ .'/../vendor/ABC/ABC.php';
$config = require __DIR__ .'/../www/resources/config.php';
$configCli = require __DIR__ .'/../www/resources/config_cli.php';
$report = ABC::startAppCli($config, $configCli)->run();
exit($report);
Теперь желательно сконфигурировать фреймворк для работы с CLI. Для этого нужно создать конфигурационный файл (
config_cli.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
return [
'debug' => [
'checkout' => false,
'exception' => false
],
'pdo' => [
'debug' => false,
],
'migrations' => [
// Путь до директории с миграциями
'dir' => dirname(dirname(dirname(__DIR__)))
. '/App/Domain/Sources/Migrations/',
// Область видимости миграций
'namespace' => 'App\Domain\Sources\Migrations',
],
];
Это нужно для того, что бы дебаггеры не мешали работе из командной строки.
И еще можно указать путь и область видимости места, где будут храниться миграции. Если путь такой, как указан в примере, эту настройку можно опустить, она идет по умолчанию.
Все, компонент настроен и готов к работе. Для работы нужно открыть консоль в папке
App/ и набрать такую команду:
Откроется краткое руководство со списком команд:
Можно приступать к работе с миграциями.