freeso/TSOClient/FSO.Server.Database/DatabaseScripts/changes/0015_avatar_lot_retire.sql
RHY3756547 2bb7cfcfa2 [Server] Rehaul roommate protocol, avatar retire
You MUST run server.exe db-init after this version.
- Re-enabled and fixed returning non-roommate objects to their
inventories
- Implemented opening a property just to cycle database actions, eg.
roommate object sendback.
- Implemented Sim Retire. Even works when a lot is open - all of the
objects for the removed avatar will be deleted from the lot, just as if
they moved out.
- Implemented lot deletion. When the last avatar leaves a lot, its owner
becomes null. The next time this lot opens, it is deleted from db and
nfs. (opens instantly to close, though a purge task will be implemented
in the future to do this when some lots are missed)
- You can no longer buy a lot when you are the owner of a lot. You must
first move out of your existing lot.
- Lot move out has centralised functionality to stop weird data service
bugs.
- Center sim now considers terrain height
- Quitting to Select-A-Sim now attempts to re-obtain avatar data. If it
fails, you are sent back to the login screen.
2017-07-20 22:26:50 +01:00

34 lines
No EOL
944 B
SQL

-- claims
ALTER TABLE `fso_avatar_claims`
DROP FOREIGN KEY `FK_fso_avatar_claims_fso_avatars`;
ALTER TABLE `fso_avatar_claims`
ADD CONSTRAINT `FK_fso_avatar_claims_fso_avatars`
FOREIGN KEY (`avatar_id`)
REFERENCES `fso_avatars` (`avatar_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
-- bookmarks
ALTER TABLE `fso_bookmarks`
DROP FOREIGN KEY `FK_fso_bookmarks_fso_avatars_src`,
DROP FOREIGN KEY `FK_fso_bookmarks_fso_avatars_target`;
ALTER TABLE `fso_bookmarks`
ADD CONSTRAINT `FK_fso_bookmarks_fso_avatars_src`
FOREIGN KEY (`avatar_id`)
REFERENCES `fso_avatars` (`avatar_id`)
ON DELETE CASCADE
ON UPDATE CASCADE,
ADD CONSTRAINT `FK_fso_bookmarks_fso_avatars_target`
FOREIGN KEY (`target_id`)
REFERENCES `fso_avatars` (`avatar_id`)
ON DELETE CASCADE
ON UPDATE CASCADE;
-- lot owners - now nullable. null owner lots are deleted.
ALTER TABLE `fso_lots`
CHANGE COLUMN `owner_id` `owner_id` INT(10) UNSIGNED NULL ;