22 lines
1.2 KiB
MySQL
22 lines
1.2 KiB
MySQL
|
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;
|