Skip to content

Commit

Permalink
Remove server column default value, Add comments
Browse files Browse the repository at this point in the history
  • Loading branch information
Premwoik committed Aug 31, 2021
1 parent 1412569 commit 4c16e50
Show file tree
Hide file tree
Showing 4 changed files with 103 additions and 25 deletions.
2 changes: 1 addition & 1 deletion doc/migrations/4.2.0_5.0.0.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## DB migrations

The migrations scripts for Postgres, MySQL, MSSQL can be found in the [`priv/migrations`](../../priv/migrations/) directory. Provide the existing server domain as a default for the `server` column instead of the empty string.
The migrations scripts for Postgres, MySQL, MSSQL can be found in the [`priv/migrations`](../../priv/migrations/) directory. Please remember to Provide the existing server domain for the `server` column instead of the localhost.

### Changes in XEPs:
- `mod_last`
Expand Down
40 changes: 32 additions & 8 deletions priv/migrations/mssql_4.2.0_5.0.0.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
-- MOD_LAST

ALTER TABLE last ADD server [nvarchar](250) NOT NULL DEFAULT '';
ALTER TABLE last ADD server [nvarchar](250);
-- FIXME Replace localhost with your domain name
UPDATE last SET server = 'localhost';
ALTER TABLE last ALTER COLUMN server [nvarchar](250) NOT NULL;

BEGIN TRANSACTION;
ALTER TABLE last DROP CONSTRAINT PK_last_username;
Expand All @@ -12,15 +15,21 @@ CREATE INDEX i_last_server_seconds ON last (server, seconds);
-- MOD_PRIVACY

--Table privacy_default_list
ALTER TABLE privacy_default_list ADD server [nvarchar](250) NOT NULL DEFAULT '';
ALTER TABLE privacy_default_list ADD server [nvarchar](250);
-- FIXME Replace localhost with your domain name
UPDATE privacy_default_list SET server = 'localhost';
ALTER TABLE privacy_default_list ALTER COLUMN server [nvarchar](250) NOT NULL;

BEGIN TRANSACTION;
ALTER TABLE privacy_default_list DROP CONSTRAINT PK_privacy_default_list_username;
ALTER TABLE privacy_default_list ADD CONSTRAINT PK_privacy_default_list_username PRIMARY KEY CLUSTERED (server ASC, username ASC);
COMMIT;

--Table privacy_list
ALTER TABLE privacy_list ADD server [nvarchar](250) NOT NULL DEFAULT '';
ALTER TABLE privacy_list ADD server [nvarchar](250);
-- FIXME Replace localhost with your domain name
UPDATE privacy_list SET server = 'localhost';
ALTER TABLE privacy_list ALTER COLUMN server [nvarchar](250) NOT NULL;

BEGIN TRANSACTION;
ALTER TABLE privacy_list DROP CONSTRAINT privacy_list$id;
Expand All @@ -29,7 +38,10 @@ COMMIT;

-- MOD_PRIVATE

ALTER TABLE private_storage ADD server [nvarchar](250) NOT NULL DEFAULT '';
ALTER TABLE private_storage ADD server [nvarchar](250);
-- FIXME Replace localhost with your domain name
UPDATE private_storage SET server = 'localhost';
ALTER TABLE private_storage ALTER COLUMN server [nvarchar](250) NOT NULL;

BEGIN TRANSACTION;
ALTER TABLE private_storage DROP CONSTRAINT private_storage$i_private_storage_username_namespace;
Expand All @@ -43,7 +55,10 @@ ALTER TABLE rosterusers DROP COLUMN type;
ALTER TABLE rosterusers DROP COLUMN subscribe;
ALTER TABLE rosterusers DROP COLUMN server;

ALTER TABLE rosterusers ADD server [nvarchar](250) NOT NULL DEFAULT '';
ALTER TABLE rosterusers ADD server [nvarchar](250);
-- FIXME Replace localhost with your domain name
UPDATE rosterusers SET server = 'localhost';
ALTER TABLE rosterusers ALTER COLUMN server [nvarchar](250) NOT NULL;

BEGIN TRANSACTION;
ALTER TABLE rosterusers DROP CONSTRAINT rosterusers$i_rosteru_user_jid;
Expand All @@ -54,12 +69,18 @@ CREATE INDEX i_rosteru_server_user ON rosterusers (server, username)
CREATE INDEX i_rosteru_jid ON rosterusers (jid)

--Table rostergroups
ALTER TABLE rostergroups ADD server [nvarchar](250) NOT NULL DEFAULT '';
ALTER TABLE rostergroups ADD server [nvarchar](250);
-- FIXME Replace localhost with your domain name
UPDATE rostergroups SET server = 'localhost';
ALTER TABLE rostergroups ALTER COLUMN server [nvarchar](250) NOT NULL;

CREATE INDEX i_rosterg_server_user_jid ON rostergroups (server, username, jid);

--Table roster_version
ALTER TABLE roster_version ADD server [nvarchar](250) NOT NULL DEFAULT '';
ALTER TABLE roster_version ADD server [nvarchar](250);
-- FIXME Replace localhost with your domain name
UPDATE roster_version SET server = 'localhost';
ALTER TABLE roster_version ALTER COLUMN server [nvarchar](250) NOT NULL;

BEGIN TRANSACTION;
ALTER TABLE roster_version DROP CONSTRAINT PK_roster_version_username;
Expand All @@ -84,7 +105,10 @@ COMMIT;
-- OTHER CHANGES

--Table users
ALTER TABLE users ADD server [nvarchar](250) NOT NULL DEFAULT '';
ALTER TABLE users ADD server [nvarchar](250);
-- FIXME Replace localhost with your domain name
UPDATE users SET server = 'localhost';
ALTER TABLE users ALTER COLUMN server [nvarchar](250) NOT NULL;

BEGIN TRANSACTION;
ALTER TABLE users DROP CONSTRAINT PK_users_username;
Expand Down
38 changes: 30 additions & 8 deletions priv/migrations/mysql_4.2.0_5.0.0.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
-- MOD_LAST

ALTER TABLE last ADD server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE last ADD server varchar(250) NOT NULL;
-- FIXME Replace localhost with your domain name
UPDATE last SET server = 'localhost';

ALTER TABLE last DROP PRIMARY KEY, ADD PRIMARY KEY(server, username);

CREATE INDEX i_last_server_seconds ON last (server, seconds);
Expand All @@ -9,16 +12,25 @@ DROP INDEX i_last_seconds ON last;
-- MOD_PRIVACY

-- Table privacy_default_list
ALTER TABLE privacy_default_list ADD COLUMN server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE privacy_default_list ADD COLUMN server varchar(250) NOT NULL;
-- FIXME Replace localhost with your domain name
UPDATE privacy_default_list SET server = 'localhost';

ALTER TABLE privacy_default_list DROP PRIMARY KEY, ADD PRIMARY KEY (server, username);

-- Table privacy_list
ALTER TABLE privacy_list ADD COLUMN server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE privacy_list ADD COLUMN server varchar(250) NOT NULL;
-- FIXME Replace localhost with your domain name
UPDATE privacy_list SET server = 'localhost';

ALTER TABLE privacy_list DROP PRIMARY KEY, ADD PRIMARY KEY (server, username, name);

-- MOD_PRIVATE

ALTER TABLE private_storage ADD server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE private_storage ADD server varchar(250) NOT NULL;
-- FIXME Replace localhost with your domain name
UPDATE private_storage SET server = 'localhost';

ALTER TABLE private_storage ADD PRIMARY KEY (server, username, namespace);

DROP INDEX i_private_storage_username ON private_storage;
Expand All @@ -29,21 +41,28 @@ DROP INDEX i_private_storage_username_namespace ON private_storage;
-- Table rosterusers
ALTER TABLE rosterusers DROP COLUMN `type`, DROP COLUMN subscribe, DROP COLUMN server;

ALTER TABLE rosterusers ADD server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE rosterusers ADD server varchar(250) NOT NULL;
-- FIXME Replace localhost with your domain name
UPDATE rosterusers SET server = 'localhost';

CREATE UNIQUE INDEX i_rosteru_server_user_jid ON rosterusers (server, username, jid);
CREATE INDEX i_rosteru_server_user ON rosterusers (server, username);
DROP INDEX i_rosteru_user_jid ON rosterusers;
DROP INDEX i_rosteru_username ON rosterusers;

-- Table rostergroups
ALTER TABLE rostergroups ADD server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE rostergroups ADD server varchar(250) NOT NULL;
-- FIXME Replace localhost with your domain name
UPDATE rostergroups SET server = 'localhost';

CREATE INDEX i_rosterg_server_user_jid ON rostergroups (server, username, jid);
DROP INDEX pk_rosterg_user_jid ON rostergroups;

-- Table roster_version
ALTER TABLE roster_version ADD server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE roster_version ADD server varchar(250) NOT NULL;
-- FIXME Replace localhost with your domain name
UPDATE roster_version SET server = 'localhost';

ALTER TABLE roster_version DROP PRIMARY KEY, ADD PRIMARY KEY (server, username);

-- MOD_MUC_LIGHT
Expand All @@ -59,7 +78,10 @@ CREATE INDEX i_inbox ON inbox(lserver, luser, timestamp);
-- OTHER CHANGES

-- Table users
ALTER TABLE users ADD server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE users ADD server varchar(250) NOT NULL;
-- FIXME Replace localhost with your domain name
UPDATE users SET server = 'localhost';

ALTER TABLE users DROP PRIMARY KEY, ADD PRIMARY KEY (server, username);

-- Table domain_settings
Expand Down
48 changes: 40 additions & 8 deletions priv/migrations/pgsql_4.2.0_5.0.0.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
-- MOD_LAST

ALTER TABLE last ADD COLUMN server varchar(250) NOT NULL DEFAULT'';
ALTER TABLE last ADD COLUMN server varchar(250);
-- FIXME Replace localhost with your domain name
UPDATE last SET server = 'localhost';
ALTER TABLE last ALTER COLUMN server SET NOT NULL;

ALTER TABLE last DROP CONSTRAINT last_pkey, ADD PRIMARY KEY (server, username);

CREATE INDEX i_last_server_seconds ON last (server, seconds);
Expand All @@ -9,17 +13,29 @@ DROP INDEX i_last_seconds;
-- MOD_PRIVACY

-- Table privacy_default_list
ALTER TABLE privacy_default_list ADD COLUMN server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE privacy_default_list ADD COLUMN server varchar(250);
-- FIXME Replace localhost with your domain name
UPDATE privacy_default_list SET server = 'localhost';
ALTER TABLE privacy_default_list ALTER COLUMN server SET NOT NULL;

ALTER TABLE privacy_default_list DROP CONSTRAINT privacy_default_list_pkey, ADD PRIMARY KEY (server, username);

-- Table privacy_list
ALTER TABLE privacy_list ADD COLUMN server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE privacy_list ADD COLUMN server varchar(250);
-- FIXME Replace localhost with your domain name
UPDATE privacy_list SET server = 'localhost';
ALTER TABLE privacy_list ALTER COLUMN server SET NOT NULL;

ALTER TABLE privacy_list DROP CONSTRAINT privacy_list_pkey, ADD PRIMARY KEY (server, username, name);

-- MOD_PRIVATE

-- Table private_storage
ALTER TABLE private_storage ADD server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE private_storage ADD server varchar(250);
-- FIXME Replace localhost with your domain name
UPDATE private_storage SET server = 'localhost';
ALTER TABLE private_storage ALTER COLUMN server SET NOT NULL;

ALTER TABLE private_storage ADD PRIMARY KEY (server, username, namespace);

DROP INDEX i_private_storage_username;
Expand All @@ -29,7 +45,11 @@ DROP INDEX i_private_storage_username_namespace;

--Table rosterusers
ALTER TABLE rosterusers DROP COLUMN "type", DROP COLUMN subscribe, DROP COLUMN server;
ALTER TABLE rosterusers ADD COLUMN server varchar(250) NOT NULL DEFAULT '';

ALTER TABLE rosterusers ADD COLUMN server varchar(250);
-- FIXME Replace localhost with your domain name
UPDATE rosterusers SET server = 'localhost';
ALTER TABLE rosterusers ALTER COLUMN server SET NOT NULL;

CREATE UNIQUE INDEX i_rosteru_server_user_jid ON rosterusers (server, username, jid);
CREATE INDEX i_rosteru_server_user ON rosterusers (server, username);
Expand All @@ -38,12 +58,20 @@ DROP INDEX i_rosteru_user_jid;
DROP INDEX i_rosteru_username;

--Table rostergroups
ALTER TABLE rostergroups ADD COLUMN server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE rostergroups ADD COLUMN server varchar(250);
-- FIXME Replace localhost with your domain name
UPDATE rostergroups SET server = 'localhost';
ALTER TABLE rostergroups ALTER COLUMN server SET NOT NULL;

CREATE INDEX i_rosterg_server_user_jid ON rostergroups (server, username, jid);
DROP INDEX pk_rosterg_user_jid;

-- Table roster_version
ALTER TABLE roster_version ADD server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE roster_version ADD server varchar(250);
-- FIXME Replace localhost with your domain name
UPDATE roster_version SET server = 'localhost';
ALTER TABLE roster_version ALTER COLUMN server SET NOT NULL;

ALTER TABLE roster_version DROP CONSTRAINT roster_version_pkey, ADD PRIMARY KEY (server, username);

-- MOD_MUC_LIGHT
Expand All @@ -60,7 +88,11 @@ DROP INDEX i_inbox;
-- OTHER CHANGES

-- Table users
ALTER TABLE users ADD COLUMN server varchar(250) NOT NULL DEFAULT '';
ALTER TABLE users ADD COLUMN server varchar(250);
-- FIXME Replace localhost with your domain name
UPDATE users SET server = 'localhost';
ALTER TABLE users ALTER COLUMN server SET NOT NULL;

ALTER TABLE users DROP CONSTRAINT users_pkey, ADD PRIMARY KEY (server, username);

-- Table domain_settings
Expand Down

0 comments on commit 4c16e50

Please sign in to comment.