Skip to content

Data system errors if a schema migration function returns a non-table #5

@NobleDraconian

Description

@NobleDraconian

Currently, as of v2.1.0, if a schema migration function returns nil or some other non-table value, the LoadData API does not account for this and hits a fatal error, halting the entire system:

ReplicatedStorage.Packages._Index.nobledraconian_roblox-libmodules@3.1.0.roblox-libmodules.lib.Utils.Table.ConvertTableToFolder:5: invalid argument #1 to 'pairs' (table expected, got nil) - ConvertTableToFolder:5
  Stack Begin
  Script 'ReplicatedStorage.Packages._Index.nobledraconian_roblox-libmodules@3.1.0.roblox-libmodules.lib.Utils.Table.ConvertTableToFolder', Line 5 - function ConvertTableToFolder - ConvertTableToFolder:5
  Script 'ServerScriptService.Packages._Index.phoenixentertainment_playerdatasystem-server@2.0.0.playerdatasystem-server', Line 73 - function CreateDataCache - playerdatasystem-server:73
  Script 'ServerScriptService.Packages._Index.phoenixentertainment_playerdatasystem-server@2.0.0.playerdatasystem-server', Line 899 - function LoadPlayerDataIntoServer - playerdatasystem-server:899
  Script 'ServerScriptService.Packages._Index.phoenixentertainment_playerdatasystem-server@2.0.0.playerdatasystem-server', Line 1041 - playerdatasystem-server:1041
  Script 'ReplicatedStorage.Packages._Index.nobledraconian_roblox-libmodules@3.1.0.roblox-libmodules.lib.Classes.Queue', Line 90 - function Execute - Queue:90
  Script 'ServerScriptService.Packages._Index.phoenixentertainment_playerdatasystem-server@2.0.0.playerdatasystem-server', Line 1050 - function PlayerJoined - playerdatasystem-server:1050
  Stack End

A nil or some other non-table value being returned by a schema migration function should instead go through the same error codepath as the schema migration function itself erroring.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions