Scripts/resources/[ps]/ps-housing/properties.sql
2024-12-29 21:28:24 +01:00

22 lines
1.2 KiB
SQL

DROP table IF EXISTS `properties`;
CREATE TABLE IF NOT EXISTS `properties` (
`property_id` int(11) NOT NULL AUTO_INCREMENT,
`owner_citizenid` varchar(50) NULL,
`street` VARCHAR(100) NULL,
`region` VARCHAR(100) NULL,
`description` LONGTEXT NULL,
`has_access` JSON NULL DEFAULT (JSON_ARRAY()), -- [citizenid1, citizenid2, ...]
`extra_imgs` JSON NULL DEFAULT (JSON_ARRAY()),
`furnitures` JSON NULL DEFAULT (JSON_ARRAY()),
`for_sale` boolean NOT NULL DEFAULT 1,
`price` int(11) NOT NULL DEFAULT 0,
`shell` varchar(50) NOT NULL,
`apartment` varchar(50) NULL DEFAULT NULL, -- if NULL then it's a house
`door_data` JSON NULL DEFAULT NULL, -- {"x": 0.0, "y": 0.0, "z": 0.0, "h": 0.0, "length": 0.0, "width": 0.0}
`garage_data` JSON NULL DEFAULT NULL, -- {"x": 0.0, "y": 0.0, "z": 0.0} -- NULL if no garage
PRIMARY KEY (`property_id`),
CONSTRAINT `FK_owner_citizenid` FOREIGN KEY (`owner_citizenid`) REFERENCES `players` (`citizenid`) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT `UQ_owner_apartment` UNIQUE (`owner_citizenid`, `apartment`) -- A character can only own one apartment
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;