> For the complete documentation index, see [llms.txt](https://documentation.rcore.cz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.rcore.cz/paid-resources/rcore_housing/integrations/migration.md).

# Migration

`rcore_housing` can import existing properties from other housing resources, so you keep your players' homes when switching.

Two sources are supported out of the box:

* **vms\_housing**
* **qs-housing**

{% hint style="warning" %}
The migration **reads** from the source resource's tables - it never deletes or alters them. Your old housing tables stay untouched, so you can roll back at any time.
{% endhint %}

{% hint style="info" %}
Anything that has no 1:1 equivalent in `rcore_housing` is **not thrown away** - it is preserved in `migration_source` so it can be re-applied to those properties later via future updates.
{% endhint %}

{% hint style="danger" %}
Always **back up your database** before migrating. `rcore_housing` does not touch your old housing tables, but a fresh backup is the safe way to recover if anything goes wrong on your server.
{% endhint %}

## ▶️ Running a Migration

Run the matching command in your **server console** for the source you are migrating from:

{% tabs %}
{% tab title="vms\_housing" %}

```
migratehouses vms_housing
```

{% endtab %}

{% tab title="qs-housing" %}

```
migratehouses qs_housing
```

{% endtab %}
{% endtabs %}

Once it finishes, restart `rcore_housing` and your migrated properties will be live.

## 🟢 vms\_housing

| Migrated          | Skipped *(preserved in `migration_source`)* |
| ----------------- | ------------------------------------------- |
| Properties        | Furniture                                   |
| Ownership         | Bill history                                |
| Tenancy           | Grass / designs                             |
| Sale / rent state | Gallery URLs                                |
| Zones             | vms upgrades                                |
| Coords            | IPL themes                                  |
| Keys              |                                             |
| Permissions       |                                             |
| Utilities         |                                             |
| Upgrades          |                                             |

## 🔵 qs-housing

| Migrated                                                                         | Skipped *(preserved in `migration_source`)*                                                    |
| -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| Properties with full spatial data (coords, zones, entry, garage, exit, delivery) | Furniture, stash, outfit, decorateStash, vaultCodes                                            |
| Ownership & tenancy (from `player_houses.owner` + `rented`)                      | Doorbell sound, assistant, wallart, vault, furniture capacity upgrades *(no rcore equivalent)* |
| Sale / rent prices (`creditPrice`, `rentPrice`)                                  | `sale_furnished` / `rent_furnished` flags                                                      |
| Keyholders → guest accesses                                                      |                                                                                                |
| Lights state (`lights_on`, `lights_on_since`)                                    |                                                                                                |
| Purchased upgrades (alarm, camera, motion sensor)                                |                                                                                                |

## 🗄️ Preserved Source Data

Skipped fields are stored on each migrated property in the `migration_source` column. This means:

* You do **not** lose any data the source resource held.
* Nothing is removed from your original `vms_housing` / `qs-housing` database tables.
* As `rcore_housing` adds matching features in future updates, the preserved values can be applied back to these properties.

{% hint style="info" %}
If your migration is missing something or doesn't cover your setup, just reach out to us - we'll figure it out together.
{% endhint %}
