> ## Documentation Index
> Fetch the complete documentation index at: https://rust-co.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Миграция

> Что происходит с внешностью игроков при переходе на RCO Appearance.

Коротко: **игроки сохраняют вид**, **не** нужно массово конвертировать базу при установке, и **не** нужен ручной SQL на обычном сервере.

## Что на самом деле происходит

Каждый персонаж мигрирует **индивидуально, при первом входе** после переключения:

1. Игрок выбирает персонажа.
2. Appearance проверяет: есть ли сохранённый вид в `rco_appearance`?
3. **Да** → используем. Готово.
4. **Нет** → читаем **старые stock-данные фреймворка**, конвертируем, одна строка в `rco_appearance`.
5. С этого момента **RCO — источник истины** для этого персонажа. Старые таблицы для геймплея больше не читаются.

Старые таблицы массово не удаляются. Могут лежать в базе как backup — Appearance просто перестаёт их использовать для сохранений.

<Tabs>
  <Tab title="RSG Core">
    Читает строку персонажа в **`playerskins`** (`skin` и `clothes`). Stock `rsg-appearance` **не** должен работать.

    После миграции Appearance **не пишет обратно** в `playerskins`. Поэтому `rsg-barbers` нужно остановить — стрижки там сохранялись бы в таблицу, которую никто не читает.
  </Tab>

  <Tab title="VORP Core">
    Читает сохранённую кожу/компоненты активного персонажа из **VORP Core / базы**.

    Stock **`vorp_character` должен быть остановлен** — но данные уже в БД всё ещё читаемы.

    Пустые новые VORP-скины пропускают миграцию; идут через RCO creator как обычно.

    Appearance **не пишет RCO-данные обратно в колонки skin VORP** — форматы не совпадают.
  </Tab>
</Tabs>

## Чем миграция не является

* **Не** разовая job, конвертирующая все строки на пустом сервере.
* **Не** автоматическая для сторонних appearance, хранивших вид где-то ещё.
* **Не** двусторонняя синхронизация. Правки старых таблиц после миграции не обновляют RCO.

<Note>
  Битые или пустые старые данные пропускаются, а не сохраняются как глючная mesh. Игроку может понадобиться пересобрать вид в creator или в магазине.
</Note>

## Простой чеклист

1. Бэкап базы (всегда перед большими изменениями).
2. Остановить stock appearance ([Установка](/ru/rco-appearance/installation)).
3. Запустить Appearance (+ Creator, если используете).
4. Пусть игроки зайдут.

Нервничаете с большой базой? Включите `Config.Debug` ненадолго в первый день — строки миграции в консоли, включая персонажей, которых не удалось конвертировать.

## Сторонние скрипты

Скрипты, которые **только читают** вид через compatibility exports, обычно работают дальше.

Скрипты, которые **пишут** старые SQL-таблицы или полные skin blob, нужно обновить — см. [Совместимость](/ru/rco-appearance/compatibility).
