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
parent
957ca41b13
commit
03a38a80ab
|
@ -1,307 +1,112 @@
|
|||
:VERSION 1
|
||||
:VERSION 12
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
CREATE TABLE estate_managers(
|
||||
"EstateID" int NOT NULL Primary Key,
|
||||
uuid varchar(36) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE estate_groups(
|
||||
"EstateID" int NOT NULL,
|
||||
uuid varchar(36) NOT NULL
|
||||
);
|
||||
-- ----------------------------
|
||||
-- Table structure for estate_groups
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS "public"."estate_groups" (
|
||||
"EstateID" int4 NOT NULL,
|
||||
"uuid" uuid 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,
|
||||
uuid varchar(36) NOT NULL
|
||||
);
|
||||
-- ----------------------------
|
||||
-- Table structure for estate_managers
|
||||
-- ----------------------------
|
||||
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,
|
||||
"bannedUUID" varchar(36) NOT NULL,
|
||||
"bannedIp" varchar(16) NOT NULL,
|
||||
"bannedIpHostMask" varchar(16) NOT NULL,
|
||||
"bannedNameMask" varchar(64) NULL DEFAULT NULL
|
||||
);
|
||||
-- ----------------------------
|
||||
-- Table structure for estate_map
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS "public"."estate_map" (
|
||||
"RegionID" uuid NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000'::uuid,
|
||||
"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,
|
||||
"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" varchar(36) NOT NULL,
|
||||
"DenyMinors" boolean NOT NULL
|
||||
);
|
||||
|
||||
|
||||
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,
|
||||
-- ----------------------------
|
||||
-- Table structure for estate_settings
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS "public"."estate_settings" (
|
||||
"EstateID" int4 NOT NULL DEFAULT nextval('estate_settings_id'::regclass),
|
||||
"EstateName" varchar(64) DEFAULT NULL::character varying COLLATE "default",
|
||||
"AbuseEmailToEstateOwner" bool NOT NULL,
|
||||
"DenyAnonymous" bool NOT NULL,
|
||||
"ResetHomeOnTeleport" bool NOT NULL,
|
||||
"FixedSun" bool NOT NULL,
|
||||
"DenyTransacted" bool NOT NULL,
|
||||
"BlockDwell" bool NOT NULL,
|
||||
"DenyIdentified" bool NOT NULL,
|
||||
"AllowVoice" bool NOT NULL,
|
||||
"UseGlobalTime" bool NOT NULL,
|
||||
"PricePerMeter" int4 NOT NULL,
|
||||
"TaxFree" bool NOT NULL,
|
||||
"AllowDirectTeleport" bool NOT NULL,
|
||||
"RedirectGridX" int4 NOT NULL,
|
||||
"RedirectGridY" int4 NOT NULL,
|
||||
"ParentEstateID" int4 NOT NULL,
|
||||
"SunPosition" float8 NOT NULL,
|
||||
"EstateSkipScripts" bool NOT NULL,
|
||||
"BillableFactor" float8 NOT NULL,
|
||||
"PublicAccess" bool NOT NULL,
|
||||
"AbuseEmail" varchar(255) NOT NULL COLLATE "default",
|
||||
"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")
|
||||
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 ;
|
||||
-- Primary key structure for table 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);
|
||||
|
||||
|
||||
Create index on estate_settings (lower("EstateName"));
|
||||
-- Indexes structure for table estateban
|
||||
-- ----------------------------
|
||||
CREATE INDEX IF NOT EXISTS "ix_estateban" ON "public"."estateban" USING btree("EstateID" "pg_catalog"."int4_ops" ASC NULLS LAST);
|
||||
|
||||
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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue