23.02.2016, 16:14
Когда разрабатываешь игровой сервер - возникает куча нюансов, и один из них я хочу разобрать.
Представим что сервер уже открыт, и зарегистрировано около 100 аккаунтов (в качестве базы данных используется СУБД MySQL). Через некоторое время нужно было сделать обновление (допустим сохранение руды). Логично представить что нужно создать столбец в таблице и по идеи туда должны записываться данные. Но на самом деле всё не так.
Когда игрок регистрирует аккаунт - используется запрос (INSERT INTO) который вносит в ячейки значения. Данная операция действует только в процессе регистрации. После того как игрок вышел из игры - то используется запрос (UPDATE) - обновляющий существующие ячейки.
И возникает такая ситуация. В СУБД было добавлено новое поле, но игроки которые зарегистрировались раньше чем это поле было добавлено - не смогут с этим полем взаимодействовать.
Как решить данную проблему?
Представим что сервер уже открыт, и зарегистрировано около 100 аккаунтов (в качестве базы данных используется СУБД MySQL). Через некоторое время нужно было сделать обновление (допустим сохранение руды). Логично представить что нужно создать столбец в таблице и по идеи туда должны записываться данные. Но на самом деле всё не так.
Когда игрок регистрирует аккаунт - используется запрос (INSERT INTO) который вносит в ячейки значения. Данная операция действует только в процессе регистрации. После того как игрок вышел из игры - то используется запрос (UPDATE) - обновляющий существующие ячейки.
И возникает такая ситуация. В СУБД было добавлено новое поле, но игроки которые зарегистрировались раньше чем это поле было добавлено - не смогут с этим полем взаимодействовать.
Как решить данную проблему?