PGSQL: Rewrote EstateStore.migrations as it errored out in version 8 leaving the database without any estate tables on first run. It also lacked primary keys on estate_map and estate_settings. Syntax requires Postgresql 9.5 or higher.

Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
httptests
Geir Nøklebye 2017-05-08 00:40:15 +01:00 committed by UbitUmarov
parent 957ca41b13
commit 03a38a80ab
1 changed files with 94 additions and 289 deletions

View File

@ -1,307 +1,112 @@
:VERSION 1 :VERSION 12
BEGIN TRANSACTION; BEGIN TRANSACTION;
CREATE TABLE estate_managers( -- ----------------------------
"EstateID" int NOT NULL Primary Key, -- Table structure for estate_groups
uuid varchar(36) NOT NULL -- ----------------------------
); CREATE TABLE IF NOT EXISTS "public"."estate_groups" (
"EstateID" int4 NOT NULL,
CREATE TABLE estate_groups( "uuid" uuid NOT NULL
"EstateID" int NOT NULL, )
uuid varchar(36) NOT NULL WITH (OIDS=FALSE);
);
-- Indexes structure for table estate_groups
-- ----------------------------
CREATE TABLE estate_users( CREATE INDEX IF NOT EXISTS "ix_estate_groups" ON "public"."estate_groups" USING btree("EstateID" "pg_catalog"."int4_ops" ASC NULLS LAST);
"EstateID" int NOT NULL,
uuid varchar(36) NOT NULL -- ----------------------------
); -- Table structure for estate_managers
-- ----------------------------
CREATE TABLE IF NOT EXISTS "public"."estate_managers" (
CREATE TABLE estateban( "EstateID" int4 NOT NULL,
"EstateID" int NOT NULL, "uuid" uuid NOT NULL
"bannedUUID" varchar(36) NOT NULL, )
"bannedIp" varchar(16) NOT NULL, WITH (OIDS=FALSE);
"bannedIpHostMask" varchar(16) NOT NULL,
"bannedNameMask" varchar(64) NULL DEFAULT NULL -- Indexes structure for table estate_managers
); -- ----------------------------
CREATE INDEX IF NOT EXISTS "ix_estate_managers" ON "public"."estate_managers" USING btree("EstateID" "pg_catalog"."int4_ops" ASC NULLS LAST);
Create Sequence estate_settings_id increment by 100 start with 100;
-- ----------------------------
CREATE TABLE estate_settings( -- Table structure for estate_map
"EstateID" integer DEFAULT nextval('estate_settings_id') NOT NULL, -- ----------------------------
"EstateName" varchar(64) NULL DEFAULT (NULL), CREATE TABLE IF NOT EXISTS "public"."estate_map" (
"AbuseEmailToEstateOwner" boolean NOT NULL, "RegionID" uuid NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000'::uuid,
"DenyAnonymous" boolean NOT NULL, "EstateID" int4 NOT NULL
"ResetHomeOnTeleport" boolean NOT NULL, )
"FixedSun" boolean NOT NULL, WITH (OIDS=FALSE);
"DenyTransacted" boolean NOT NULL,
"BlockDwell" boolean NOT NULL, -- Primary key structure for table estate_map
"DenyIdentified" boolean NOT NULL, -- ----------------------------
"AllowVoice" boolean NOT NULL, ALTER TABLE "public"."estate_map" ADD PRIMARY KEY ("RegionID") NOT DEFERRABLE INITIALLY IMMEDIATE;
"UseGlobalTime" boolean NOT NULL,
"PricePerMeter" int NOT NULL, -- ----------------------------
"TaxFree" boolean NOT NULL, -- Table structure for estate_settings
"AllowDirectTeleport" boolean NOT NULL, -- ----------------------------
"RedirectGridX" int NOT NULL, CREATE TABLE IF NOT EXISTS "public"."estate_settings" (
"RedirectGridY" int NOT NULL, "EstateID" int4 NOT NULL DEFAULT nextval('estate_settings_id'::regclass),
"ParentEstateID" int NOT NULL, "EstateName" varchar(64) DEFAULT NULL::character varying COLLATE "default",
"SunPosition" double precision NOT NULL, "AbuseEmailToEstateOwner" bool NOT NULL,
"EstateSkipScripts" boolean NOT NULL, "DenyAnonymous" bool NOT NULL,
"BillableFactor" double precision NOT NULL, "ResetHomeOnTeleport" bool NOT NULL,
"PublicAccess" boolean NOT NULL, "FixedSun" bool NOT NULL,
"AbuseEmail" varchar(255) NOT NULL, "DenyTransacted" bool NOT NULL,
"EstateOwner" varchar(36) NOT NULL, "BlockDwell" bool NOT NULL,
"DenyMinors" boolean NOT NULL "DenyIdentified" bool NOT NULL,
); "AllowVoice" bool NOT NULL,
"UseGlobalTime" bool NOT NULL,
"PricePerMeter" int4 NOT NULL,
CREATE TABLE estate_map( "TaxFree" bool NOT NULL,
"RegionID" varchar(36) NOT NULL DEFAULT ('00000000-0000-0000-0000-000000000000'), "AllowDirectTeleport" bool NOT NULL,
"EstateID" int NOT NULL "RedirectGridX" int4 NOT NULL,
); "RedirectGridY" int4 NOT NULL,
"ParentEstateID" int4 NOT NULL,
COMMIT; "SunPosition" float8 NOT NULL,
"EstateSkipScripts" bool NOT NULL,
:VERSION 2 "BillableFactor" float8 NOT NULL,
"PublicAccess" bool NOT NULL,
BEGIN TRANSACTION; "AbuseEmail" varchar(255) NOT NULL COLLATE "default",
CREATE INDEX IX_estate_managers ON estate_managers
(
"EstateID"
);
CREATE INDEX IX_estate_groups ON estate_groups
(
"EstateID"
);
CREATE INDEX IX_estate_users ON estate_users
(
"EstateID"
);
COMMIT;
:VERSION 3
BEGIN TRANSACTION;
CREATE TABLE Tmp_estateban
(
"EstateID" int NOT NULL,
"bannedUUID" varchar(36) NOT NULL,
"bannedIp" varchar(16) NULL,
"bannedIpHostMask" varchar(16) NULL,
"bannedNameMask" varchar(64) NULL
);
INSERT INTO Tmp_estateban ("EstateID", "bannedUUID", "bannedIp", "bannedIpHostMask", "bannedNameMask")
SELECT "EstateID", "bannedUUID", "bannedIp", "bannedIpHostMask", "bannedNameMask" FROM estateban;
DROP TABLE estateban;
Alter table Tmp_estateban
rename to estateban;
CREATE INDEX IX_estateban ON estateban
(
"EstateID"
);
COMMIT;
:VERSION 4
BEGIN TRANSACTION;
CREATE TABLE Tmp_estate_managers
(
"EstateID" int NOT NULL,
uuid uuid NOT NULL
);
INSERT INTO Tmp_estate_managers ("EstateID", uuid)
SELECT "EstateID", cast(uuid as uuid) FROM estate_managers;
DROP TABLE estate_managers;
Alter table Tmp_estate_managers
rename to estate_managers;
CREATE INDEX IX_estate_managers ON estate_managers
(
"EstateID"
);
COMMIT;
:VERSION 5
BEGIN TRANSACTION;
CREATE TABLE Tmp_estate_groups
(
"EstateID" int NOT NULL,
uuid uuid NOT NULL
) ;
INSERT INTO Tmp_estate_groups ("EstateID", uuid)
SELECT "EstateID", cast(uuid as uuid) FROM estate_groups;
DROP TABLE estate_groups;
Alter table Tmp_estate_groups
rename to estate_groups;
CREATE INDEX IX_estate_groups ON estate_groups
(
"EstateID"
);
COMMIT;
:VERSION 6
BEGIN TRANSACTION;
CREATE TABLE Tmp_estate_users
(
"EstateID" int NOT NULL,
uuid uuid NOT NULL
);
INSERT INTO Tmp_estate_users ("EstateID", uuid)
SELECT "EstateID", cast(uuid as uuid) FROM estate_users ;
DROP TABLE estate_users;
Alter table Tmp_estate_users
rename to estate_users;
CREATE INDEX IX_estate_users ON estate_users
(
"EstateID"
);
COMMIT;
:VERSION 7
BEGIN TRANSACTION;
CREATE TABLE Tmp_estateban
(
"EstateID" int NOT NULL,
"bannedUUID" uuid NOT NULL,
"bannedIp" varchar(16) NULL,
"bannedIpHostMask" varchar(16) NULL,
"bannedNameMask" varchar(64) NULL
);
INSERT INTO Tmp_estateban ("EstateID", "bannedUUID", "bannedIp", "bannedIpHostMask", "bannedNameMask")
SELECT "EstateID", cast("bannedUUID" as uuid), "bannedIp", "bannedIpHostMask", "bannedNameMask" FROM estateban ;
DROP TABLE estateban;
Alter table Tmp_estateban
rename to estateban;
CREATE INDEX IX_estateban ON estateban
(
"EstateID"
);
COMMIT;
:VERSION 8
BEGIN TRANSACTION;
CREATE TABLE Tmp_estate_settings
(
"EstateID" integer default nextval('estate_settings_id') NOT NULL,
"EstateName" varchar(64) NULL DEFAULT (NULL),
"AbuseEmailToEstateOwner" boolean NOT NULL,
"DenyAnonymous" boolean NOT NULL,
"ResetHomeOnTeleport" boolean NOT NULL,
"FixedSun" boolean NOT NULL,
"DenyTransacted" boolean NOT NULL,
"BlockDwell" boolean NOT NULL,
"DenyIdentified" boolean NOT NULL,
"AllowVoice" boolean NOT NULL,
"UseGlobalTime" boolean NOT NULL,
"PricePerMeter" int NOT NULL,
"TaxFree" boolean NOT NULL,
"AllowDirectTeleport" boolean NOT NULL,
"RedirectGridX" int NOT NULL,
"RedirectGridY" int NOT NULL,
"ParentEstateID" int NOT NULL,
"SunPosition" double precision NOT NULL,
"EstateSkipScripts" boolean NOT NULL,
"BillableFactor" double precision NOT NULL,
"PublicAccess" boolean NOT NULL,
"AbuseEmail" varchar(255) NOT NULL,
"EstateOwner" uuid NOT NULL, "EstateOwner" uuid NOT NULL,
"DenyMinors" boolean NOT NULL "DenyMinors" bool NOT NULL,
); "AllowLandmark" bool NOT NULL DEFAULT true,
"AllowParcelChanges" bool NOT NULL DEFAULT true,
"AllowSetHome" bool NOT NULL DEFAULT true
)
WITH (OIDS=FALSE);
INSERT INTO Tmp_estate_settings ("EstateID", "EstateName", "AbuseEmailToEstateOwner", "DenyAnonymous", "ResetHomeOnTeleport", "FixedSun", "DenyTransacted", "BlockDwell", "DenyIdentified", "AllowVoice", "UseGlobalTime", "PricePerMeter", "TaxFree", "AllowDirectTeleport", "RedirectGridX", "RedirectGridY", "ParentEstateID", "SunPosition", "EstateSkipScripts", "BillableFactor", "PublicAccess", "AbuseEmail", "EstateOwner", "DenyMinors") -- Primary key structure for table estate_settings
SELECT "EstateID", "EstateName", "AbuseEmailToEstateOwner", "DenyAnonymous", "ResetHomeOnTeleport", "FixedSun", "DenyTransacted", "BlockDwell", "DenyIdentified", "AllowVoice", "UseGlobalTime", "PricePerMeter", "TaxFree", "AllowDirectTeleport", "RedirectGridX", "RedirectGridY", "ParentEstateID", "SunPosition", "EstateSkipScripts", "BillableFactor", "PublicAccess", "AbuseEmail", cast("EstateOwner" as uuid), "DenyMinors" FROM estate_settings ; -- ----------------------------
ALTER TABLE "public"."estate_settings" ADD PRIMARY KEY ("EstateID") NOT DEFERRABLE INITIALLY IMMEDIATE;
DROP TABLE estate_settings; -- ----------------------------
-- Table structure for estate_users
-- ----------------------------
CREATE TABLE IF NOT EXISTS "public"."estate_users" (
"EstateID" int4 NOT NULL,
"uuid" uuid NOT NULL
)
WITH (OIDS=FALSE);
-- Indexes structure for table estate_users
-- ----------------------------
CREATE INDEX IF NOT EXISTS "ix_estate_users" ON "public"."estate_users" USING btree("EstateID" "pg_catalog"."int4_ops" ASC NULLS LAST);
Alter table Tmp_estate_settings -- ----------------------------
rename to estate_settings; -- Table structure for estateban
-- ----------------------------
CREATE TABLE IF NOT EXISTS "public"."estateban" (
"EstateID" int4 NOT NULL,
"bannedUUID" uuid NOT NULL,
"bannedIp" varchar(16) COLLATE "default",
"bannedIpHostMask" varchar(16) COLLATE "default",
"bannedNameMask" varchar(64) COLLATE "default"
)
WITH (OIDS=FALSE);
-- Indexes structure for table estateban
Create index on estate_settings (lower("EstateName")); -- ----------------------------
CREATE INDEX IF NOT EXISTS "ix_estateban" ON "public"."estateban" USING btree("EstateID" "pg_catalog"."int4_ops" ASC NULLS LAST);
COMMIT; COMMIT;
:VERSION 9
BEGIN TRANSACTION;
CREATE TABLE Tmp_estate_map
(
"RegionID" uuid NOT NULL DEFAULT ('00000000-0000-0000-0000-000000000000'),
"EstateID" int NOT NULL
);
INSERT INTO Tmp_estate_map ("RegionID", "EstateID")
SELECT cast("RegionID" as uuid), "EstateID" FROM estate_map ;
DROP TABLE estate_map;
Alter table Tmp_estate_map
rename to estate_map;
COMMIT;
:VERSION 10
BEGIN TRANSACTION;
ALTER TABLE estate_settings ADD COLUMN "AllowLandmark" boolean NOT NULL default true;
ALTER TABLE estate_settings ADD COLUMN "AllowParcelChanges" boolean NOT NULL default true;
ALTER TABLE estate_settings ADD COLUMN "AllowSetHome" boolean NOT NULL default true;
COMMIT;
:VERSION 11
Begin transaction;
Commit;