mirror of
https://github.com/simtactics/mysimulation.git
synced 2025-03-21 09:11:20 +00:00
- NioTSO client isn't needed because we're using RayLib - Added FreeSO's API server to handle most backend operations
73 lines
3.4 KiB
SQL
Executable file
73 lines
3.4 KiB
SQL
Executable file
CREATE TABLE IF NOT EXISTS `fso_lots` (
|
|
`lot_id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`shard_id` int(11) NOT NULL,
|
|
`name` varchar(50) NOT NULL,
|
|
`description` varchar(500) NOT NULL,
|
|
`owner_id` int(10) unsigned NOT NULL,
|
|
`location` int(10) unsigned zerofill NOT NULL,
|
|
`neighborhood_id` int(11) DEFAULT NULL,
|
|
`created_date` int(10) unsigned NOT NULL,
|
|
`category_change_date` int(11) unsigned NOT NULL,
|
|
`category` enum('none','welcome','money','skills','services','entertainment','romance','shopping','games','offbeat','residence') NOT NULL,
|
|
`buildable_area` int(10) unsigned NOT NULL,
|
|
`ring_backup_num` tinyint(4) NOT NULL DEFAULT '-1',
|
|
`admit_mode` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
|
`move_flags` tinyint(3) DEFAULT '1',
|
|
PRIMARY KEY (`lot_id`),
|
|
UNIQUE KEY `shard_id_name` (`shard_id`,`name`),
|
|
UNIQUE KEY `shard_id_location` (`shard_id`,`location`),
|
|
UNIQUE KEY `location_UNIQUE` (`location`),
|
|
CONSTRAINT `FK_fso_lots_fso_shards` FOREIGN KEY (`shard_id`) REFERENCES `fso_shards` (`shard_id`)
|
|
)
|
|
COLLATE='utf8_general_ci'
|
|
ENGINE=InnoDB;
|
|
|
|
CREATE TABLE IF NOT EXISTS `fso_roommates` (
|
|
`avatar_id` int(10) unsigned NOT NULL,
|
|
`lot_id` int(11) NOT NULL,
|
|
`permissions_level` tinyint(3) unsigned NOT NULL,
|
|
`is_pending` tinyint(3) unsigned NOT NULL,
|
|
PRIMARY KEY (`avatar_id`,`lot_id`),
|
|
KEY `FK_roommate_lots_idx` (`lot_id`),
|
|
CONSTRAINT `FK_roommate_avatars` FOREIGN KEY (`avatar_id`) REFERENCES `fso_avatars` (`avatar_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `FK_roommate_lots` FOREIGN KEY (`lot_id`) REFERENCES `fso_lots` (`lot_id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE IF NOT EXISTS `fso_lot_claims` (
|
|
`claim_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|
`shard_id` int(11) NOT NULL,
|
|
`lot_id` int(10) NOT NULL,
|
|
`owner` varchar(50) NOT NULL,
|
|
PRIMARY KEY (`claim_id`),
|
|
UNIQUE KEY `shard_id_lot_id` (`shard_id`,`lot_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Represents a lot servers claim on a lot.';
|
|
|
|
CREATE TABLE IF NOT EXISTS `fso_lot_server_tickets` (
|
|
`ticket_id` varchar(36) NOT NULL,
|
|
`user_id` int(10) unsigned NOT NULL,
|
|
`date` int(10) unsigned NOT NULL,
|
|
`ip` varchar(50) NOT NULL,
|
|
`avatar_id` int(10) unsigned NOT NULL,
|
|
`lot_id` int(10) NOT NULL COMMENT 'Note: need not necessarily be a real lot! Tickets can be granted for runtime lots, such as job lots. These are marked with the bit flag 0x40000000.',
|
|
`avatar_claim_id` int(11) NOT NULL,
|
|
`avatar_claim_owner` varchar(50) NOT NULL,
|
|
`lot_owner` varchar(50) NOT NULL,
|
|
PRIMARY KEY (`ticket_id`),
|
|
KEY `FK_fso_lot_server_tickets_fso_avatar_claims` (`avatar_claim_id`),
|
|
CONSTRAINT `FK_fso_lot_server_tickets_fso_avatar_claims` FOREIGN KEY (`avatar_claim_id`) REFERENCES `fso_avatar_claims` (`avatar_claim_id`) ON DELETE CASCADE
|
|
)
|
|
COLLATE='utf8_general_ci'
|
|
ENGINE=InnoDB;
|
|
|
|
CREATE TABLE IF NOT EXISTS `fso_lot_admit` (
|
|
`lot_id` int(11) NOT NULL,
|
|
`avatar_id` int(10) unsigned NOT NULL,
|
|
`admit_type` tinyint(3) unsigned NOT NULL,
|
|
PRIMARY KEY (`avatar_id`,`lot_id`),
|
|
KEY `FK_lot_idx` (`lot_id`),
|
|
KEY `FK_avatar_idx` (`avatar_id`),
|
|
CONSTRAINT `FK_admit_avatar` FOREIGN KEY (`avatar_id`) REFERENCES `fso_avatars` (`avatar_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `FK_admit_lot` FOREIGN KEY (`lot_id`) REFERENCES `fso_lots` (`lot_id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
)
|
|
COLLATE='utf8_general_ci'
|
|
ENGINE=InnoDB;
|