aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorAlexRa2010-05-17 17:37:16 +0200
committerAlexRa2010-05-23 11:48:16 +0300
commitebc2b6d4f6ebb0392ec0081bea913d24e9753786 (patch)
tree7faf0a526f0010c0b980f0c18ad6d162cbc30e64
parentPrebuild: removed DB-specific test projects, added refs to Data.Tests (diff)
downloadopensim-SC-ebc2b6d4f6ebb0392ec0081bea913d24e9753786.zip
opensim-SC-ebc2b6d4f6ebb0392ec0081bea913d24e9753786.tar.gz
opensim-SC-ebc2b6d4f6ebb0392ec0081bea913d24e9753786.tar.bz2
opensim-SC-ebc2b6d4f6ebb0392ec0081bea913d24e9753786.tar.xz
Split migrations for RegionStore and EstateStore (see WARNING!)
ok, so the estate stores now want their own migration files, but as it happened the SQL definition were inside the Region migrations. It seems better/cleaner to keep each 'store' separately updatable. WARNING: any editing in the middle of the migration scripts (as opposite to just appending to them) has the potential of messing up updates of existing databases. As far as I can see, this one is (probably) safe, the worst that could happen is the EstateStore migration silently fail if the estate the tables are already there.
-rw-r--r--OpenSim/Data/MySQL/Resources/EstateStore.migrations69
-rw-r--r--OpenSim/Data/MySQL/Resources/RegionStore.migrations78
-rw-r--r--OpenSim/Data/SQLite/Resources/EstateStore.migrations88
-rw-r--r--OpenSim/Data/SQLite/Resources/RegionStore.migrations25
4 files changed, 157 insertions, 103 deletions
diff --git a/OpenSim/Data/MySQL/Resources/EstateStore.migrations b/OpenSim/Data/MySQL/Resources/EstateStore.migrations
new file mode 100644
index 0000000..2e0d658
--- /dev/null
+++ b/OpenSim/Data/MySQL/Resources/EstateStore.migrations
@@ -0,0 +1,69 @@
1:VERSION 13
2
3# The estate migrations used to be in Region store
4
5CREATE TABLE IF NOT EXISTS `estate_managers` (
6 `EstateID` int(10) unsigned NOT NULL,
7 `uuid` char(36) NOT NULL,
8 KEY `EstateID` (`EstateID`)
9) ENGINE=InnoDB;
10
11CREATE TABLE IF NOT EXISTS `estate_groups` (
12 `EstateID` int(10) unsigned NOT NULL,
13 `uuid` char(36) NOT NULL,
14 KEY `EstateID` (`EstateID`)
15) ENGINE=InnoDB;
16
17CREATE TABLE IF NOT EXISTS `estate_users` (
18 `EstateID` int(10) unsigned NOT NULL,
19 `uuid` char(36) NOT NULL,
20 KEY `EstateID` (`EstateID`)
21) ENGINE=InnoDB;
22
23CREATE TABLE IF NOT EXISTS `estateban` (
24 `EstateID` int(10) unsigned NOT NULL,
25 `bannedUUID` varchar(36) NOT NULL,
26 `bannedIp` varchar(16) NOT NULL,
27 `bannedIpHostMask` varchar(16) NOT NULL,
28 `bannedNameMask` varchar(64) default NULL,
29 KEY `estateban_EstateID` (`EstateID`)
30) ENGINE=InnoDB;
31
32CREATE TABLE IF NOT EXISTS `estate_settings` (
33 `EstateID` int(10) unsigned NOT NULL auto_increment,
34 `EstateName` varchar(64) default NULL,
35 `AbuseEmailToEstateOwner` tinyint(4) NOT NULL,
36 `DenyAnonymous` tinyint(4) NOT NULL,
37 `ResetHomeOnTeleport` tinyint(4) NOT NULL,
38 `FixedSun` tinyint(4) NOT NULL,
39 `DenyTransacted` tinyint(4) NOT NULL,
40 `BlockDwell` tinyint(4) NOT NULL,
41 `DenyIdentified` tinyint(4) NOT NULL,
42 `AllowVoice` tinyint(4) NOT NULL,
43 `UseGlobalTime` tinyint(4) NOT NULL,
44 `PricePerMeter` int(11) NOT NULL,
45 `TaxFree` tinyint(4) NOT NULL,
46 `AllowDirectTeleport` tinyint(4) NOT NULL,
47 `RedirectGridX` int(11) NOT NULL,
48 `RedirectGridY` int(11) NOT NULL,
49 `ParentEstateID` int(10) unsigned NOT NULL,
50 `SunPosition` double NOT NULL,
51 `EstateSkipScripts` tinyint(4) NOT NULL,
52 `BillableFactor` float NOT NULL,
53 `PublicAccess` tinyint(4) NOT NULL,
54 `AbuseEmail` varchar(255) not null,
55 `EstateOwner` varchar(36) not null,
56 `DenyMinors` tinyint not null,
57
58 PRIMARY KEY (`EstateID`)
59) ENGINE=InnoDB AUTO_INCREMENT=100;
60
61CREATE TABLE IF NOT EXISTS `estate_map` (
62 `RegionID` char(36) NOT NULL default '00000000-0000-0000-0000-000000000000',
63 `EstateID` int(11) NOT NULL,
64 PRIMARY KEY (`RegionID`),
65 KEY `EstateID` (`EstateID`)
66) ENGINE=InnoDB;
67
68
69
diff --git a/OpenSim/Data/MySQL/Resources/RegionStore.migrations b/OpenSim/Data/MySQL/Resources/RegionStore.migrations
index baeeedd..383c328 100644
--- a/OpenSim/Data/MySQL/Resources/RegionStore.migrations
+++ b/OpenSim/Data/MySQL/Resources/RegionStore.migrations
@@ -386,84 +386,6 @@ CREATE TABLE `regionsettings` (
386 PRIMARY KEY (`regionUUID`) 386 PRIMARY KEY (`regionUUID`)
387) ENGINE=InnoDB; 387) ENGINE=InnoDB;
388 388
389CREATE TABLE `estate_managers` (
390 `EstateID` int(10) unsigned NOT NULL,
391 `uuid` char(36) NOT NULL,
392 KEY `EstateID` (`EstateID`)
393) ENGINE=InnoDB;
394
395CREATE TABLE `estate_groups` (
396 `EstateID` int(10) unsigned NOT NULL,
397 `uuid` char(36) NOT NULL,
398 KEY `EstateID` (`EstateID`)
399) ENGINE=InnoDB;
400
401CREATE TABLE `estate_users` (
402 `EstateID` int(10) unsigned NOT NULL,
403 `uuid` char(36) NOT NULL,
404 KEY `EstateID` (`EstateID`)
405) ENGINE=InnoDB;
406
407CREATE TABLE `estateban` (
408 `EstateID` int(10) unsigned NOT NULL,
409 `bannedUUID` varchar(36) NOT NULL,
410 `bannedIp` varchar(16) NOT NULL,
411 `bannedIpHostMask` varchar(16) NOT NULL,
412 `bannedNameMask` varchar(64) default NULL,
413 KEY `estateban_EstateID` (`EstateID`)
414) ENGINE=InnoDB;
415
416CREATE TABLE `estate_settings` (
417 `EstateID` int(10) unsigned NOT NULL auto_increment,
418 `EstateName` varchar(64) default NULL,
419 `AbuseEmailToEstateOwner` tinyint(4) NOT NULL,
420 `DenyAnonymous` tinyint(4) NOT NULL,
421 `ResetHomeOnTeleport` tinyint(4) NOT NULL,
422 `FixedSun` tinyint(4) NOT NULL,
423 `DenyTransacted` tinyint(4) NOT NULL,
424 `BlockDwell` tinyint(4) NOT NULL,
425 `DenyIdentified` tinyint(4) NOT NULL,
426 `AllowVoice` tinyint(4) NOT NULL,
427 `UseGlobalTime` tinyint(4) NOT NULL,
428 `PricePerMeter` int(11) NOT NULL,
429 `TaxFree` tinyint(4) NOT NULL,
430 `AllowDirectTeleport` tinyint(4) NOT NULL,
431 `RedirectGridX` int(11) NOT NULL,
432 `RedirectGridY` int(11) NOT NULL,
433 `ParentEstateID` int(10) unsigned NOT NULL,
434 `SunPosition` double NOT NULL,
435 `EstateSkipScripts` tinyint(4) NOT NULL,
436 `BillableFactor` float NOT NULL,
437 `PublicAccess` tinyint(4) NOT NULL,
438 PRIMARY KEY (`EstateID`)
439) ENGINE=InnoDB AUTO_INCREMENT=100;
440
441CREATE TABLE `estate_map` (
442 `RegionID` char(36) NOT NULL default '00000000-0000-0000-0000-000000000000',
443 `EstateID` int(11) NOT NULL,
444 PRIMARY KEY (`RegionID`),
445 KEY `EstateID` (`EstateID`)
446) ENGINE=InnoDB;
447
448commit;
449
450:VERSION 14 #---------------------
451
452begin;
453
454alter table estate_settings add column AbuseEmail varchar(255) not null;
455
456alter table estate_settings add column EstateOwner varchar(36) not null;
457
458commit;
459
460
461:VERSION 15 #---------------------
462
463begin;
464
465alter table estate_settings add column DenyMinors tinyint not null;
466
467commit; 389commit;
468 390
469:VERSION 16 #--------------------- 391:VERSION 16 #---------------------
diff --git a/OpenSim/Data/SQLite/Resources/EstateStore.migrations b/OpenSim/Data/SQLite/Resources/EstateStore.migrations
new file mode 100644
index 0000000..62f6464
--- /dev/null
+++ b/OpenSim/Data/SQLite/Resources/EstateStore.migrations
@@ -0,0 +1,88 @@
1:VERSION 6
2
3BEGIN TRANSACTION;
4
5CREATE TABLE estate_groups (
6 EstateID int(10) NOT NULL,
7 uuid char(36) NOT NULL
8);
9
10CREATE TABLE estate_managers (
11 EstateID int(10) NOT NULL,
12 uuid char(36) NOT NULL
13);
14
15CREATE TABLE estate_map (
16 RegionID char(36) NOT NULL default '00000000-0000-0000-0000-000000000000',
17 EstateID int(11) NOT NULL
18);
19
20CREATE TABLE estate_settings (
21 EstateID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
22 EstateName varchar(64) default NULL,
23 AbuseEmailToEstateOwner tinyint(4) NOT NULL,
24 DenyAnonymous tinyint(4) NOT NULL,
25 ResetHomeOnTeleport tinyint(4) NOT NULL,
26 FixedSun tinyint(4) NOT NULL,
27 DenyTransacted tinyint(4) NOT NULL,
28 BlockDwell tinyint(4) NOT NULL,
29 DenyIdentified tinyint(4) NOT NULL,
30 AllowVoice tinyint(4) NOT NULL,
31 UseGlobalTime tinyint(4) NOT NULL,
32 PricePerMeter int(11) NOT NULL,
33 TaxFree tinyint(4) NOT NULL,
34 AllowDirectTeleport tinyint(4) NOT NULL,
35 RedirectGridX int(11) NOT NULL,
36 RedirectGridY int(11) NOT NULL,
37 ParentEstateID int(10) NOT NULL,
38 SunPosition double NOT NULL,
39 EstateSkipScripts tinyint(4) NOT NULL,
40 BillableFactor float NOT NULL,
41 PublicAccess tinyint(4) NOT NULL
42);
43
44insert into estate_settings (
45 EstateID,EstateName,AbuseEmailToEstateOwner,DenyAnonymous,ResetHomeOnTeleport,FixedSun,DenyTransacted,BlockDwell,DenyIdentified,AllowVoice,UseGlobalTime,PricePerMeter,TaxFree,AllowDirectTeleport,RedirectGridX,RedirectGridY,ParentEstateID,SunPosition,PublicAccess,EstateSkipScripts,BillableFactor)
46 values ( 99, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
47delete from estate_settings;
48
49CREATE TABLE estate_users (
50 EstateID int(10) NOT NULL,
51 uuid char(36) NOT NULL
52);
53
54CREATE TABLE estateban (
55 EstateID int(10) NOT NULL,
56 bannedUUID varchar(36) NOT NULL,
57 bannedIp varchar(16) NOT NULL,
58 bannedIpHostMask varchar(16) NOT NULL,
59 bannedNameMask varchar(64) default NULL
60);
61
62CREATE INDEX estate_ban_estate_id on estateban(EstateID);
63CREATE INDEX estate_groups_estate_id on estate_groups(EstateID);
64CREATE INDEX estate_managers_estate_id on estate_managers(EstateID);
65CREATE INDEX estate_map_estate_id on estate_map(EstateID);
66CREATE UNIQUE INDEX estate_map_region_id on estate_map(RegionID);
67CREATE INDEX estate_users_estate_id on estate_users(EstateID);
68
69COMMIT;
70
71
72:VERSION 7
73
74begin;
75
76alter table estate_settings add column AbuseEmail varchar(255) not null default '';
77
78alter table estate_settings add column EstateOwner varchar(36) not null default '';
79
80commit;
81
82:VERSION 8
83
84begin;
85
86alter table estate_settings add column DenyMinors tinyint not null default 0;
87
88commit;
diff --git a/OpenSim/Data/SQLite/Resources/RegionStore.migrations b/OpenSim/Data/SQLite/Resources/RegionStore.migrations
index 7b27378..c47a85d 100644
--- a/OpenSim/Data/SQLite/Resources/RegionStore.migrations
+++ b/OpenSim/Data/SQLite/Resources/RegionStore.migrations
@@ -311,33 +311,8 @@ CREATE TABLE regionsettings (
311 PRIMARY KEY (regionUUID) 311 PRIMARY KEY (regionUUID)
312); 312);
313 313
314CREATE INDEX estate_ban_estate_id on estateban(EstateID);
315CREATE INDEX estate_groups_estate_id on estate_groups(EstateID);
316CREATE INDEX estate_managers_estate_id on estate_managers(EstateID);
317CREATE INDEX estate_map_estate_id on estate_map(EstateID);
318CREATE UNIQUE INDEX estate_map_region_id on estate_map(RegionID);
319CREATE INDEX estate_users_estate_id on estate_users(EstateID);
320
321COMMIT; 314COMMIT;
322 315
323:VERSION 7
324
325begin;
326
327alter table estate_settings add column AbuseEmail varchar(255) not null default '';
328
329alter table estate_settings add column EstateOwner varchar(36) not null default '';
330
331commit;
332
333:VERSION 8
334
335begin;
336
337alter table estate_settings add column DenyMinors tinyint not null default 0;
338
339commit;
340
341:VERSION 9 316:VERSION 9
342 317
343BEGIN; 318BEGIN;