> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cakestudio.fun/llms.txt
> Use this file to discover all available pages before exploring further.

# Миграция данных

> Импорт лотов из BAuction и zAuctionHouse, конвертация между СУБД и деноминация цен.

CakeAuction поддерживает импорт данных из сторонних плагинов аукциона, перенос между типами баз данных и массовый пересчет цен.

Команды миграции выполняются через `/ah admin migration`.

<Warning>
  Перед запуском любой миграции создайте резервную копию базы данных: `/ah admin mkbackup`.
</Warning>

***

## Импорт из BAuction v1

Поддерживается импорт из MySQL и из бинарных файлов `.bauc`.

### Из MySQL:

```bash theme={null}
/ah admin migration bauction mysql <хост> <порт> <база> <пользователь> <пароль>
```

### Из файлов `.bauc`:

Поместите файлы `items.bauc`, `unsoldItems.bauc` и `users.bauc` в целевую директорию (например, `plugins/BAuction/`):

```bash theme={null}
/ah admin migration bauction files plugins/BAuction/
```

***

## Импорт из BAuction v2

Поддерживается импорт из MySQL и SQLite:

```bash theme={null}
# Из MySQL:
/ah admin migration bauctionv2 mysql <хост> <порт> <база> <пользователь> <пароль> [префикс_таблиц]

# Из файла SQLite:
/ah admin migration bauctionv2 sqlite <путь_к_файлу.db> [префикс_таблиц]
```

***

## Импорт из zAuctionHouse v4

Импорт активных лотов и истории сделок из zAuctionHouse:

```bash theme={null}
# Из MySQL:
/ah admin migration zauctionhouse mysql <хост> <порт> <база> <пользователь> <пароль> [префикс_таблиц]

# Из файла SQLite:
/ah admin migration zauctionhouse sqlite <путь_к_файлу.db> [префикс_таблиц]
```

По умолчанию используется префикс таблиц `zh_`.

***

## Миграция между СУБД

Перенос данных между SQLite и MySQL / MariaDB / PostgreSQL без ручного экспорта SQL-дампов.

### Перенос в MySQL / MariaDB / PostgreSQL:

```bash theme={null}
/ah admin migration database mysql <хост> <порт> <база> <пользователь> <пароль>
```

### Перенос в SQLite:

```bash theme={null}
/ah admin migration database sqlite
```

Плагин создаст файл `migration-target.db` и перенесет структуру таблиц и данные.

***

## Деноминация цен

Массовый пересчет цен лотов на аукционе (например, при смене баланса экономики):

```bash theme={null}
/ah admin migration currency <множитель> [migrate_pending]
```

* **`множитель`** — коэффициент изменения цены (`0.1` — уменьшить цены в 10 раз, `2.0` — удвоить).
* **`migrate_pending`** (`true`/`false`) — пересчитывать ли также баланс невыплаченных выигрышей игроков.

***

## Конфигурация migration.yml

Файл `settings/migration.yml` задает маппинг таблиц и файлов при нестандартных структурах:

```yaml theme={null}
# BAuction v1
bauction:
  files:
    items: "items.bauc"
    unsold: "unsoldItems.bauc"
    users: "users.bauc"
  tables:
    sell-items: "sell_items"
    unsold-items: "unsold_items"
    give-money: "give_money"
    users: "users"

# BAuction v2
bauctionv2:
  tables:
    items: "items"
    lots: "lots_repository"
    vault: "vault_repository"
    logs: "logs_repository"

# zAuctionHouse v4
zauctionhouse:
  table-prefix: "zh_"
```
