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 INDEX IF NOT EXISTS "ix_estate_groups" ON "public"."estate_groups" USING btree("EstateID" "pg_catalog"."int4_ops" ASC NULLS LAST);
CREATE TABLE estate_users( -- ----------------------------
"EstateID" int NOT NULL, -- Table structure for estate_managers
uuid varchar(36) NOT NULL -- ----------------------------
); CREATE TABLE IF NOT EXISTS "public"."estate_managers" (
"EstateID" int4 NOT NULL,
"uuid" uuid NOT NULL
)
WITH (OIDS=FALSE);
-- 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 TABLE estateban( -- ----------------------------
"EstateID" int NOT NULL, -- Table structure for estate_map
"bannedUUID" varchar(36) NOT NULL, -- ----------------------------
"bannedIp" varchar(16) NOT NULL, CREATE TABLE IF NOT EXISTS "public"."estate_map" (
"bannedIpHostMask" varchar(16) NOT NULL, "RegionID" uuid NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000'::uuid,
"bannedNameMask" varchar(64) NULL DEFAULT NULL "EstateID" int4 NOT NULL
); )
WITH (OIDS=FALSE);
Create Sequence estate_settings_id increment by 100 start with 100; -- Primary key structure for table estate_map
-- ----------------------------
ALTER TABLE "public"."estate_map" ADD PRIMARY KEY ("RegionID") NOT DEFERRABLE INITIALLY IMMEDIATE;
CREATE TABLE estate_settings( -- ----------------------------
"EstateID" integer DEFAULT nextval('estate_settings_id') NOT NULL, -- Table structure for estate_settings
"EstateName" varchar(64) NULL DEFAULT (NULL), -- ----------------------------
"AbuseEmailToEstateOwner" boolean NOT NULL, CREATE TABLE IF NOT EXISTS "public"."estate_settings" (
"DenyAnonymous" boolean NOT NULL, "EstateID" int4 NOT NULL DEFAULT nextval('estate_settings_id'::regclass),
"ResetHomeOnTeleport" boolean NOT NULL, "EstateName" varchar(64) DEFAULT NULL::character varying COLLATE "default",
"FixedSun" boolean NOT NULL, "AbuseEmailToEstateOwner" bool NOT NULL,
"DenyTransacted" boolean NOT NULL, "DenyAnonymous" bool NOT NULL,
"BlockDwell" boolean NOT NULL, "ResetHomeOnTeleport" bool NOT NULL,
"DenyIdentified" boolean NOT NULL, "FixedSun" bool NOT NULL,
"AllowVoice" boolean NOT NULL, "DenyTransacted" bool NOT NULL,
"UseGlobalTime" boolean NOT NULL, "BlockDwell" bool NOT NULL,
"PricePerMeter" int NOT NULL, "DenyIdentified" bool NOT NULL,
"TaxFree" boolean NOT NULL, "AllowVoice" bool NOT NULL,
"AllowDirectTeleport" boolean NOT NULL, "UseGlobalTime" bool NOT NULL,
"RedirectGridX" int NOT NULL, "PricePerMeter" int4 NOT NULL,
"RedirectGridY" int NOT NULL, "TaxFree" bool NOT NULL,
"ParentEstateID" int NOT NULL, "AllowDirectTeleport" bool NOT NULL,
"SunPosition" double precision NOT NULL, "RedirectGridX" int4 NOT NULL,
"EstateSkipScripts" boolean NOT NULL, "RedirectGridY" int4 NOT NULL,
"BillableFactor" double precision NOT NULL, "ParentEstateID" int4 NOT NULL,
"PublicAccess" boolean NOT NULL, "SunPosition" float8 NOT NULL,
"AbuseEmail" varchar(255) NOT NULL, "EstateSkipScripts" bool NOT NULL,
"EstateOwner" varchar(36) NOT NULL, "BillableFactor" float8 NOT NULL,
"DenyMinors" boolean NOT NULL "PublicAccess" bool NOT NULL,
); "AbuseEmail" varchar(255) NOT NULL COLLATE "default",
CREATE TABLE estate_map(
"RegionID" varchar(36) NOT NULL DEFAULT ('00000000-0000-0000-0000-000000000000'),
"EstateID" int NOT NULL
);
COMMIT;
:VERSION 2
BEGIN TRANSACTION;
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;