aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources/db
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2022-12-03 15:28:06 +0300
committerGravatar Vitaly Takmazov2022-12-14 12:57:52 +0300
commit0c0ea8897e64461b1cfa9cd86a939b48f0bdd640 (patch)
treef11c73b8246b0724b26ca08529c3c702e1722d79 /src/main/resources/db
parent8344ea3e3e652f5307ffb6115d6fdebf638ba098 (diff)
Initial PostgreSQL schema and profile
Diffstat (limited to 'src/main/resources/db')
-rw-r--r--src/main/resources/db/migration/V1.15__drop unused columns add ts for some tables.sql4
-rw-r--r--src/main/resources/db/specific/h2/V1.00__initial_schema.sql (renamed from src/main/resources/db/migration/V1.00__initial_schema.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.10__favorites_user_uri.sql (renamed from src/main/resources/db/migration/V1.10__favorites_user_uri.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.11__increase pm timestamp precision.sql (renamed from src/main/resources/db/migration/V1.11__increase pm timestamp precision.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.16__last seen.sql (renamed from src/main/resources/db/migration/V1.16__last seen.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.18__increase messages and replies timestamp precision.sql (renamed from src/main/resources/db/migration/V1.18__increase messages and replies timestamp precision.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.19__messages_properties.sql (renamed from src/main/resources/db/migration/V1.19__messages_properties.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.20__reply id in messages_properties.sql (renamed from src/main/resources/db/migration/V1.20__reply id in messages_properties.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.21__recreate messages_properties with correct index.sql (renamed from src/main/resources/db/migration/V1.21__recreate messages_properties with correct index.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.22__increase updated_at precision.sql (renamed from src/main/resources/db/migration/V1.22__increase updated_at precision.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.2__Drop telegram_chats.sql (renamed from src/main/resources/db/migration/V1.2__Drop telegram_chats.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.3__Nullable user_id column in auth table.sql (renamed from src/main/resources/db/migration/V1.3__Nullable user_id column in auth table.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.4__ActivityPub followers.sql (renamed from src/main/resources/db/migration/V1.4__ActivityPub followers.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.5__Drop acct index.sql (renamed from src/main/resources/db/migration/V1.5__Drop acct index.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.6__user_uri.sql (renamed from src/main/resources/db/migration/V1.6__user_uri.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.7__reply_uri.sql (renamed from src/main/resources/db/migration/V1.7__reply_uri.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.8__html reply.sql (renamed from src/main/resources/db/migration/V1.8__html reply.sql)0
-rw-r--r--src/main/resources/db/specific/mariadb/V1.10__favorites_user_uri.sql3
-rw-r--r--src/main/resources/db/specific/mariadb/V1.11__increase pm timestamp precision.sql1
-rw-r--r--src/main/resources/db/specific/mariadb/V1.16__last seen.sql2
-rw-r--r--src/main/resources/db/specific/mariadb/V1.18__increase messages and replies timestamp precision.sql5
-rw-r--r--src/main/resources/db/specific/mariadb/V1.19__messages_properties.sql6
-rw-r--r--src/main/resources/db/specific/mariadb/V1.20__reply id in messages_properties.sql1
-rw-r--r--src/main/resources/db/specific/mariadb/V1.21__recreate messages_properties with correct index.sql8
-rw-r--r--src/main/resources/db/specific/mariadb/V1.22__increase updated_at precision.sql2
-rw-r--r--src/main/resources/db/specific/mariadb/V1.2__Drop telegram_chats.sql2
-rw-r--r--src/main/resources/db/specific/mariadb/V1.3__Nullable user_id column in auth table.sql1
-rw-r--r--src/main/resources/db/specific/mariadb/V1.4__ActivityPub followers.sql7
-rw-r--r--src/main/resources/db/specific/mariadb/V1.5__Drop acct index.sql6
-rw-r--r--src/main/resources/db/specific/mariadb/V1.6__user_uri.sql1
-rw-r--r--src/main/resources/db/specific/mariadb/V1.7__reply_uri.sql1
-rw-r--r--src/main/resources/db/specific/mariadb/V1.8__html reply.sql1
-rw-r--r--src/main/resources/db/specific/postgresql/V1.10__favorites_user_uri.sql3
-rw-r--r--src/main/resources/db/specific/postgresql/V1.11__increase pm timestamp precision.sql1
-rw-r--r--src/main/resources/db/specific/postgresql/V1.16__last seen.sql2
-rw-r--r--src/main/resources/db/specific/postgresql/V1.18__increase messages and replies timestamp precision copy.sql3
-rw-r--r--src/main/resources/db/specific/postgresql/V1.19__messages_properties.sql6
-rw-r--r--src/main/resources/db/specific/postgresql/V1.20__reply id in messages_properties.sql1
-rw-r--r--src/main/resources/db/specific/postgresql/V1.21__recreate messages_properties with correct index.sql8
-rw-r--r--src/main/resources/db/specific/postgresql/V1.22__increase updated_at precision.sql1
-rw-r--r--src/main/resources/db/specific/postgresql/V1.2__Drop telegram_chats.sql3
-rw-r--r--src/main/resources/db/specific/postgresql/V1.3__Nullable user_id column in auth table.sql1
-rw-r--r--src/main/resources/db/specific/postgresql/V1.4__ActivityPub followers.sql5
-rw-r--r--src/main/resources/db/specific/postgresql/V1.5__Drop acct index.sql6
-rw-r--r--src/main/resources/db/specific/postgresql/V1.6__user_uri.sql1
-rw-r--r--src/main/resources/db/specific/postgresql/V1.7__reply_uri.sql1
-rw-r--r--src/main/resources/db/specific/postgresql/V1.8__html reply.sql1
47 files changed, 92 insertions, 2 deletions
diff --git a/src/main/resources/db/migration/V1.15__drop unused columns add ts for some tables.sql b/src/main/resources/db/migration/V1.15__drop unused columns add ts for some tables.sql
index 6b3ab388..2350bff2 100644
--- a/src/main/resources/db/migration/V1.15__drop unused columns add ts for some tables.sql
+++ b/src/main/resources/db/migration/V1.15__drop unused columns add ts for some tables.sql
@@ -1,4 +1,4 @@
-ALTER TABLE subscr_users DROP COLUMN `jid`;
-ALTER TABLE subscr_users DROP COLUMN `active`;
+ALTER TABLE subscr_users DROP COLUMN jid;
+ALTER TABLE subscr_users DROP COLUMN active;
ALTER TABLE auth ADD COLUMN ts timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP;
ALTER TABLE mail ADD COLUMN ts timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP; \ No newline at end of file
diff --git a/src/main/resources/db/migration/V1.00__initial_schema.sql b/src/main/resources/db/specific/h2/V1.00__initial_schema.sql
index e25e3fed..e25e3fed 100644
--- a/src/main/resources/db/migration/V1.00__initial_schema.sql
+++ b/src/main/resources/db/specific/h2/V1.00__initial_schema.sql
diff --git a/src/main/resources/db/migration/V1.10__favorites_user_uri.sql b/src/main/resources/db/specific/h2/V1.10__favorites_user_uri.sql
index 8f382398..8f382398 100644
--- a/src/main/resources/db/migration/V1.10__favorites_user_uri.sql
+++ b/src/main/resources/db/specific/h2/V1.10__favorites_user_uri.sql
diff --git a/src/main/resources/db/migration/V1.11__increase pm timestamp precision.sql b/src/main/resources/db/specific/h2/V1.11__increase pm timestamp precision.sql
index e83eb621..e83eb621 100644
--- a/src/main/resources/db/migration/V1.11__increase pm timestamp precision.sql
+++ b/src/main/resources/db/specific/h2/V1.11__increase pm timestamp precision.sql
diff --git a/src/main/resources/db/migration/V1.16__last seen.sql b/src/main/resources/db/specific/h2/V1.16__last seen.sql
index 52ca4e90..52ca4e90 100644
--- a/src/main/resources/db/migration/V1.16__last seen.sql
+++ b/src/main/resources/db/specific/h2/V1.16__last seen.sql
diff --git a/src/main/resources/db/migration/V1.18__increase messages and replies timestamp precision.sql b/src/main/resources/db/specific/h2/V1.18__increase messages and replies timestamp precision.sql
index 5b298c46..5b298c46 100644
--- a/src/main/resources/db/migration/V1.18__increase messages and replies timestamp precision.sql
+++ b/src/main/resources/db/specific/h2/V1.18__increase messages and replies timestamp precision.sql
diff --git a/src/main/resources/db/migration/V1.19__messages_properties.sql b/src/main/resources/db/specific/h2/V1.19__messages_properties.sql
index 2bb3baf2..2bb3baf2 100644
--- a/src/main/resources/db/migration/V1.19__messages_properties.sql
+++ b/src/main/resources/db/specific/h2/V1.19__messages_properties.sql
diff --git a/src/main/resources/db/migration/V1.20__reply id in messages_properties.sql b/src/main/resources/db/specific/h2/V1.20__reply id in messages_properties.sql
index 2ca5e018..2ca5e018 100644
--- a/src/main/resources/db/migration/V1.20__reply id in messages_properties.sql
+++ b/src/main/resources/db/specific/h2/V1.20__reply id in messages_properties.sql
diff --git a/src/main/resources/db/migration/V1.21__recreate messages_properties with correct index.sql b/src/main/resources/db/specific/h2/V1.21__recreate messages_properties with correct index.sql
index 685318af..685318af 100644
--- a/src/main/resources/db/migration/V1.21__recreate messages_properties with correct index.sql
+++ b/src/main/resources/db/specific/h2/V1.21__recreate messages_properties with correct index.sql
diff --git a/src/main/resources/db/migration/V1.22__increase updated_at precision.sql b/src/main/resources/db/specific/h2/V1.22__increase updated_at precision.sql
index 22034ea2..22034ea2 100644
--- a/src/main/resources/db/migration/V1.22__increase updated_at precision.sql
+++ b/src/main/resources/db/specific/h2/V1.22__increase updated_at precision.sql
diff --git a/src/main/resources/db/migration/V1.2__Drop telegram_chats.sql b/src/main/resources/db/specific/h2/V1.2__Drop telegram_chats.sql
index c8faee0d..c8faee0d 100644
--- a/src/main/resources/db/migration/V1.2__Drop telegram_chats.sql
+++ b/src/main/resources/db/specific/h2/V1.2__Drop telegram_chats.sql
diff --git a/src/main/resources/db/migration/V1.3__Nullable user_id column in auth table.sql b/src/main/resources/db/specific/h2/V1.3__Nullable user_id column in auth table.sql
index ced85ade..ced85ade 100644
--- a/src/main/resources/db/migration/V1.3__Nullable user_id column in auth table.sql
+++ b/src/main/resources/db/specific/h2/V1.3__Nullable user_id column in auth table.sql
diff --git a/src/main/resources/db/migration/V1.4__ActivityPub followers.sql b/src/main/resources/db/specific/h2/V1.4__ActivityPub followers.sql
index 16b39f62..16b39f62 100644
--- a/src/main/resources/db/migration/V1.4__ActivityPub followers.sql
+++ b/src/main/resources/db/specific/h2/V1.4__ActivityPub followers.sql
diff --git a/src/main/resources/db/migration/V1.5__Drop acct index.sql b/src/main/resources/db/specific/h2/V1.5__Drop acct index.sql
index 58757d88..58757d88 100644
--- a/src/main/resources/db/migration/V1.5__Drop acct index.sql
+++ b/src/main/resources/db/specific/h2/V1.5__Drop acct index.sql
diff --git a/src/main/resources/db/migration/V1.6__user_uri.sql b/src/main/resources/db/specific/h2/V1.6__user_uri.sql
index c302907c..c302907c 100644
--- a/src/main/resources/db/migration/V1.6__user_uri.sql
+++ b/src/main/resources/db/specific/h2/V1.6__user_uri.sql
diff --git a/src/main/resources/db/migration/V1.7__reply_uri.sql b/src/main/resources/db/specific/h2/V1.7__reply_uri.sql
index 9ec35485..9ec35485 100644
--- a/src/main/resources/db/migration/V1.7__reply_uri.sql
+++ b/src/main/resources/db/specific/h2/V1.7__reply_uri.sql
diff --git a/src/main/resources/db/migration/V1.8__html reply.sql b/src/main/resources/db/specific/h2/V1.8__html reply.sql
index 9f939971..9f939971 100644
--- a/src/main/resources/db/migration/V1.8__html reply.sql
+++ b/src/main/resources/db/specific/h2/V1.8__html reply.sql
diff --git a/src/main/resources/db/specific/mariadb/V1.10__favorites_user_uri.sql b/src/main/resources/db/specific/mariadb/V1.10__favorites_user_uri.sql
new file mode 100644
index 00000000..8f382398
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.10__favorites_user_uri.sql
@@ -0,0 +1,3 @@
+ALTER TABLE favorites ADD COLUMN user_uri char(255) DEFAULT NULL;
+UPDATE favorites SET user_uri='' WHERE user_uri IS NULL;
+ALTER TABLE favorites MODIFY COLUMN user_uri char(255) NOT NULL DEFAULT ''; \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.11__increase pm timestamp precision.sql b/src/main/resources/db/specific/mariadb/V1.11__increase pm timestamp precision.sql
new file mode 100644
index 00000000..e83eb621
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.11__increase pm timestamp precision.sql
@@ -0,0 +1 @@
+ALTER TABLE pm MODIFY COLUMN ts timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP; \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.16__last seen.sql b/src/main/resources/db/specific/mariadb/V1.16__last seen.sql
new file mode 100644
index 00000000..52ca4e90
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.16__last seen.sql
@@ -0,0 +1,2 @@
+ALTER TABLE users ADD COLUMN last_seen timestamp(6) NULL;
+UPDATE users SET last_seen=lastmessage; \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.18__increase messages and replies timestamp precision.sql b/src/main/resources/db/specific/mariadb/V1.18__increase messages and replies timestamp precision.sql
new file mode 100644
index 00000000..5b298c46
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.18__increase messages and replies timestamp precision.sql
@@ -0,0 +1,5 @@
+ALTER TABLE replies MODIFY COLUMN ts timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP;
+ALTER TABLE messages MODIFY COLUMN ts timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP;
+ALTER TABLE messages MODIFY COLUMN updated timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP;
+ALTER TABLE messages_txt MODIFY COLUMN updated_at timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP;
+ALTER TABLE users MODIFY COLUMN lastmessage timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP;
diff --git a/src/main/resources/db/specific/mariadb/V1.19__messages_properties.sql b/src/main/resources/db/specific/mariadb/V1.19__messages_properties.sql
new file mode 100644
index 00000000..2bb3baf2
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.19__messages_properties.sql
@@ -0,0 +1,6 @@
+CREATE TABLE messages_properties (
+ message_id int(10) unsigned NOT NULL,
+ property_key varchar(255) NOT NULL,
+ property_value mediumtext NOT NULL,
+ UNIQUE KEY message_key(message_id, property_key)
+) \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.20__reply id in messages_properties.sql b/src/main/resources/db/specific/mariadb/V1.20__reply id in messages_properties.sql
new file mode 100644
index 00000000..2ca5e018
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.20__reply id in messages_properties.sql
@@ -0,0 +1 @@
+ALTER TABLE messages_properties ADD COLUMN reply_id smallint(5) unsigned NOT NULL \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.21__recreate messages_properties with correct index.sql b/src/main/resources/db/specific/mariadb/V1.21__recreate messages_properties with correct index.sql
new file mode 100644
index 00000000..685318af
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.21__recreate messages_properties with correct index.sql
@@ -0,0 +1,8 @@
+DROP TABLE messages_properties;
+CREATE TABLE messages_properties (
+ message_id int(10) unsigned NOT NULL,
+ reply_id smallint(5) unsigned NOT NULL,
+ property_key varchar(255) NOT NULL,
+ property_value mediumtext NOT NULL,
+ UNIQUE KEY message_key(message_id, reply_id, property_key)
+) \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.22__increase updated_at precision.sql b/src/main/resources/db/specific/mariadb/V1.22__increase updated_at precision.sql
new file mode 100644
index 00000000..22034ea2
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.22__increase updated_at precision.sql
@@ -0,0 +1,2 @@
+ALTER TABLE replies MODIFY COLUMN updated_at timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP;
+ALTER TABLE messages_txt MODIFY COLUMN updated_at timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP; \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.2__Drop telegram_chats.sql b/src/main/resources/db/specific/mariadb/V1.2__Drop telegram_chats.sql
new file mode 100644
index 00000000..c8faee0d
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.2__Drop telegram_chats.sql
@@ -0,0 +1,2 @@
+INSERT INTO telegram(tg_id, tg_name, loginhash) SELECT chat_id AS tg_id, 'Anonymous', UUID() FROM telegram_chats;
+DROP TABLE telegram_chats; \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.3__Nullable user_id column in auth table.sql b/src/main/resources/db/specific/mariadb/V1.3__Nullable user_id column in auth table.sql
new file mode 100644
index 00000000..ced85ade
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.3__Nullable user_id column in auth table.sql
@@ -0,0 +1 @@
+ALTER TABLE auth MODIFY COLUMN user_id int(10) unsigned NULL; \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.4__ActivityPub followers.sql b/src/main/resources/db/specific/mariadb/V1.4__ActivityPub followers.sql
new file mode 100644
index 00000000..16b39f62
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.4__ActivityPub followers.sql
@@ -0,0 +1,7 @@
+CREATE TABLE IF NOT EXISTS `followers` (
+ `user_id` int(10) unsigned DEFAULT NULL,
+ `acct` char(64) NOT NULL,
+ `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ UNIQUE KEY `acct` (`acct`),
+ foreign key (user_id) references users(id)
+); \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.5__Drop acct index.sql b/src/main/resources/db/specific/mariadb/V1.5__Drop acct index.sql
new file mode 100644
index 00000000..58757d88
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.5__Drop acct index.sql
@@ -0,0 +1,6 @@
+ALTER TABLE followers ADD COLUMN `acct_migr` char(64) NOT NULL;
+UPDATE followers SET `acct_migr` = `acct`;
+ALTER TABLE followers DROP COLUMN `acct`;
+ALTER TABLE followers ADD COLUMN `acct` char(64) NOT NULL;
+UPDATE followers SET `acct` = `acct_migr`;
+ALTER TABLE followers DROP COLUMN `acct_migr`; \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.6__user_uri.sql b/src/main/resources/db/specific/mariadb/V1.6__user_uri.sql
new file mode 100644
index 00000000..c302907c
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.6__user_uri.sql
@@ -0,0 +1 @@
+ALTER TABLE replies ADD COLUMN user_uri char(255) DEFAULT NULL; \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.7__reply_uri.sql b/src/main/resources/db/specific/mariadb/V1.7__reply_uri.sql
new file mode 100644
index 00000000..9ec35485
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.7__reply_uri.sql
@@ -0,0 +1 @@
+ALTER TABLE replies ADD COLUMN reply_uri char(255) DEFAULT NULL; \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.8__html reply.sql b/src/main/resources/db/specific/mariadb/V1.8__html reply.sql
new file mode 100644
index 00000000..9f939971
--- /dev/null
+++ b/src/main/resources/db/specific/mariadb/V1.8__html reply.sql
@@ -0,0 +1 @@
+ALTER TABLE replies ADD COLUMN html tinyint(4) NOT NULL DEFAULT '0'; \ No newline at end of file
diff --git a/src/main/resources/db/specific/postgresql/V1.10__favorites_user_uri.sql b/src/main/resources/db/specific/postgresql/V1.10__favorites_user_uri.sql
new file mode 100644
index 00000000..90e512bc
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.10__favorites_user_uri.sql
@@ -0,0 +1,3 @@
+ALTER TABLE favorites ADD COLUMN user_uri character varying (255) DEFAULT NULL;
+UPDATE favorites SET user_uri='' WHERE user_uri IS NULL;
+ALTER TABLE favorites ALTER COLUMN user_uri SET DEFAULT ''; \ No newline at end of file
diff --git a/src/main/resources/db/specific/postgresql/V1.11__increase pm timestamp precision.sql b/src/main/resources/db/specific/postgresql/V1.11__increase pm timestamp precision.sql
new file mode 100644
index 00000000..c5a8e528
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.11__increase pm timestamp precision.sql
@@ -0,0 +1 @@
+-- changes are not needed \ No newline at end of file
diff --git a/src/main/resources/db/specific/postgresql/V1.16__last seen.sql b/src/main/resources/db/specific/postgresql/V1.16__last seen.sql
new file mode 100644
index 00000000..9543ca14
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.16__last seen.sql
@@ -0,0 +1,2 @@
+ALTER TABLE users ADD COLUMN last_seen timestamp with time zone NULL;
+UPDATE users SET last_seen=TO_TIMESTAMP(lastmessage::double precision / 1000);
diff --git a/src/main/resources/db/specific/postgresql/V1.18__increase messages and replies timestamp precision copy.sql b/src/main/resources/db/specific/postgresql/V1.18__increase messages and replies timestamp precision copy.sql
new file mode 100644
index 00000000..99b7f5d5
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.18__increase messages and replies timestamp precision copy.sql
@@ -0,0 +1,3 @@
+ALTER TABLE users DROP COLUMN lastmessage;
+ALTER TABLE users ADD COLUMN lastmessage timestamp with time zone;
+UPDATE users SET lastmessage=last_seen;
diff --git a/src/main/resources/db/specific/postgresql/V1.19__messages_properties.sql b/src/main/resources/db/specific/postgresql/V1.19__messages_properties.sql
new file mode 100644
index 00000000..f3b72f66
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.19__messages_properties.sql
@@ -0,0 +1,6 @@
+CREATE TABLE messages_properties (
+ message_id bigint NOT NULL,
+ property_key character varying(255) NOT NULL,
+ property_value text NOT NULL,
+ CONSTRAINT message_key UNIQUE(message_id, property_key)
+)
diff --git a/src/main/resources/db/specific/postgresql/V1.20__reply id in messages_properties.sql b/src/main/resources/db/specific/postgresql/V1.20__reply id in messages_properties.sql
new file mode 100644
index 00000000..53d4f169
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.20__reply id in messages_properties.sql
@@ -0,0 +1 @@
+ALTER TABLE messages_properties ADD COLUMN reply_id smallint NOT NULL
diff --git a/src/main/resources/db/specific/postgresql/V1.21__recreate messages_properties with correct index.sql b/src/main/resources/db/specific/postgresql/V1.21__recreate messages_properties with correct index.sql
new file mode 100644
index 00000000..eadc6f56
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.21__recreate messages_properties with correct index.sql
@@ -0,0 +1,8 @@
+DROP TABLE messages_properties;
+CREATE TABLE messages_properties (
+ message_id bigint NOT NULL,
+ reply_id smallint NOT NULL,
+ property_key character varying(255) NOT NULL,
+ property_value text NOT NULL,
+ CONSTRAINT message_properties_key UNIQUE(message_id, reply_id, property_key)
+)
diff --git a/src/main/resources/db/specific/postgresql/V1.22__increase updated_at precision.sql b/src/main/resources/db/specific/postgresql/V1.22__increase updated_at precision.sql
new file mode 100644
index 00000000..dfb8628c
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.22__increase updated_at precision.sql
@@ -0,0 +1 @@
+-- changes are not needed
diff --git a/src/main/resources/db/specific/postgresql/V1.2__Drop telegram_chats.sql b/src/main/resources/db/specific/postgresql/V1.2__Drop telegram_chats.sql
new file mode 100644
index 00000000..00e7fdbe
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.2__Drop telegram_chats.sql
@@ -0,0 +1,3 @@
+CREATE EXTENSION IF NOT EXISTS "pgcrypto";
+INSERT INTO telegram(tg_id, tg_name, loginhash) SELECT chat_id AS tg_id, 'Anonymous', gen_random_uuid() FROM telegram_chats;
+DROP TABLE telegram_chats; \ No newline at end of file
diff --git a/src/main/resources/db/specific/postgresql/V1.3__Nullable user_id column in auth table.sql b/src/main/resources/db/specific/postgresql/V1.3__Nullable user_id column in auth table.sql
new file mode 100644
index 00000000..eea8c2a6
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.3__Nullable user_id column in auth table.sql
@@ -0,0 +1 @@
+ALTER TABLE auth ALTER COLUMN user_id DROP NOT NULL; \ No newline at end of file
diff --git a/src/main/resources/db/specific/postgresql/V1.4__ActivityPub followers.sql b/src/main/resources/db/specific/postgresql/V1.4__ActivityPub followers.sql
new file mode 100644
index 00000000..fd75b87c
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.4__ActivityPub followers.sql
@@ -0,0 +1,5 @@
+CREATE TABLE IF NOT EXISTS followers (
+ user_id bigint REFERENCES users(id),
+ acct character varying(64) NOT NULL UNIQUE,
+ ts timestamp with time zone DEFAULT now() NOT NULL
+); \ No newline at end of file
diff --git a/src/main/resources/db/specific/postgresql/V1.5__Drop acct index.sql b/src/main/resources/db/specific/postgresql/V1.5__Drop acct index.sql
new file mode 100644
index 00000000..d4f1c6ef
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.5__Drop acct index.sql
@@ -0,0 +1,6 @@
+ALTER TABLE followers ADD COLUMN acct_migr character varying(64) NOT NULL;
+UPDATE followers SET acct_migr = acct;
+ALTER TABLE followers DROP COLUMN acct;
+ALTER TABLE followers ADD COLUMN acct character varying(64) NOT NULL;
+UPDATE followers SET acct = acct_migr;
+ALTER TABLE followers DROP COLUMN acct_migr; \ No newline at end of file
diff --git a/src/main/resources/db/specific/postgresql/V1.6__user_uri.sql b/src/main/resources/db/specific/postgresql/V1.6__user_uri.sql
new file mode 100644
index 00000000..c067810a
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.6__user_uri.sql
@@ -0,0 +1 @@
+ALTER TABLE replies ADD COLUMN user_uri character varying(255) DEFAULT NULL;
diff --git a/src/main/resources/db/specific/postgresql/V1.7__reply_uri.sql b/src/main/resources/db/specific/postgresql/V1.7__reply_uri.sql
new file mode 100644
index 00000000..09dcfb56
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.7__reply_uri.sql
@@ -0,0 +1 @@
+ALTER TABLE replies ADD COLUMN reply_uri character varying(255) DEFAULT NULL;
diff --git a/src/main/resources/db/specific/postgresql/V1.8__html reply.sql b/src/main/resources/db/specific/postgresql/V1.8__html reply.sql
new file mode 100644
index 00000000..88bcc04c
--- /dev/null
+++ b/src/main/resources/db/specific/postgresql/V1.8__html reply.sql
@@ -0,0 +1 @@
+ALTER TABLE replies ADD COLUMN html smallint NOT NULL DEFAULT '0'; \ No newline at end of file