Skip to content

Migrate from QBCore

Moving from QBCore to Shiva. This guide covers what maps where, what to rewrite, and how to run both in parallel during migration.

WARNING

This is a non-trivial migration. Plan for 2–4 weeks for a typical QBCore server depending on the number of custom resources.

Concept Mapping

QBCoreShiva Equivalent
QBCore.Functions.GetPlayer(source)player:get(source) via IPlayer contract
QBCore.Functions.GetPlayerData()player:get(source) (server) or LocalPlayer.state (client)
QBCore.Functions.AddMoney(src, account, amount)economy:addMoney(source, account, amount)
QBCore.Functions.RemoveMoney(src, account, amount)economy:removeMoney(source, account, amount)
QBCore.Functions.AddItem(src, item, amount)inventory:addItem(source, item, amount)
QBCore.Functions.RemoveItem(src, item, amount)inventory:removeItem(source, item, amount)
QBCore.Functions.HasItem(src, item)inventory:hasItem(source, item)
QBCore.Functions.SetJob(src, job, grade)jobs:setJob(source, job, grade)
QBCore.Functions.Notify(src, msg, type)notify:notify(source, type, msg)
RegisterNetEvent / TriggerEventSame in Shiva — but use IEventBus for module-to-module

Migration Strategy

Phase 1: Run in Parallel (Week 1)

  • Install Shiva alongside your existing QBCore setup
  • Don't remove QBCore yet
  • Migrate one standalone resource at a time (fishing, drugs, etc.)
  • Each migrated resource talks to Shiva contracts

Phase 2: Core Data (Week 2)

  • Migrate player characters from QBCore DB schema to Shiva schema
    bash
    shiva migrate --from qbcore
  • Migrate economy accounts
  • Migrate inventory items

Phase 3: Remove QBCore (Week 3–4)

  • Remove QBCore dependency from remaining resources one by one
  • Replace QBCore.Functions.* calls with Shiva contract calls
  • Test each resource after migration

Database Migration

Run the included QBCore migration script:

bash
shiva migrate --from qbcore --dry-run   # preview changes
shiva migrate --from qbcore             # execute

This maps:

  • players → Shiva character table
  • player_vehiclesshiva_vehicles
  • items + user_inventoryshiva_inventory
  • bank_accounts + player_accountsshiva_accounts

Getting Help

Join #migration in the Discord — the community has migrated dozens of servers.

Released under the MIT License.