# Миграции

## Команды

Для создания новой миграции нужно вызвать команду вида

```
./jexter/run migra create 2.0.42 newTables
```

Для ручного применения/отката миграции (выполняет по одной миграции за раз)

```
./jexter/run migra up
или
./jexter/run migra down
```


## Правило именования файлов

Именуются по следующему правилу "[версия_mcs]_[timestamp]_[название_миграции].php"

Пояснения:

 - версия пакета вида "2_0_44"
 - название миграции в camelcase, то есть "каждоеСледующееСловоНачинаетсяЗаглавнойБуквой", но по английски please. 

Примеры:

```
2_0_40_1525115936_updateCitiesTable.php
2_0_41_1525115992_renameStatusFields.php
2_0_41_1525116022_somethingElse.php
2_0_42_1525116029_somethingElse.php
2_0_42_1525116036_somethingElse.php
2_0_42_1525116043_somethingElse.php
```

## Особая миграция

Есть одна миграция 'install_only.php' которая используется только в процессе установки или удаления расширения.
Она никогда не запускается в процессе обновления.

