aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2023-01-27 17:50:14 +0300
committerGravatar Vitaly Takmazov2023-01-27 19:05:25 +0300
commit2db415ce42fb96059b6d7fce4cf4ce078a62680e (patch)
tree06d21a8483e437ad4d62f337b70e7e93dba18cc6
parentb3a169844b43d64aba4c1f7c583073b5dc54cf49 (diff)
baseline non-production databases to 1.36
-rw-r--r--src/main/resources/application-postgres.properties1
-rw-r--r--src/main/resources/application.properties2
-rw-r--r--src/main/resources/db/migration/V1.22__schema.sql (renamed from src/test/resources/db/specific/postgresql/V1.22__schema.sql)0
-rw-r--r--src/main/resources/db/migration/V1.24__fix_lastmessage.sql (renamed from src/main/resources/db/specific/postgresql/V1.24__fix_lastmessage.sql)0
-rw-r--r--src/main/resources/db/migration/V1.25__update_tokens_size.sql (renamed from src/main/resources/db/specific/h2/V1.25__update_tokens_size.sql)0
-rw-r--r--src/main/resources/db/migration/V1.26__case_insensitive_nick.sql (renamed from src/main/resources/db/specific/postgresql/V1.26__case_insensitive_nick.sql)0
-rw-r--r--src/main/resources/db/migration/V1.27__followers_unique.sql (renamed from src/main/resources/db/specific/postgresql/V1.27__followers_unique.sql)0
-rw-r--r--src/main/resources/db/migration/V1.35__case_insensitive_email_jid.sql (renamed from src/main/resources/db/specific/postgresql/V1.35__case_insensitive_email_jid.sql)0
-rw-r--r--src/main/resources/db/migration/V1.36__web_tokens.sql (renamed from src/main/resources/db/specific/postgresql/V1.36__web_tokens.sql)0
-rw-r--r--src/main/resources/db/specific/h2/V1.24__fix_lastmessage.sql2
-rw-r--r--src/main/resources/db/specific/h2/V1.26__case_insensitive_nick.sql1
-rw-r--r--src/main/resources/db/specific/h2/V1.27__followers_unique.sql1
-rw-r--r--src/main/resources/db/specific/h2/V1.35__case_insensitive_email_jid.sql2
-rw-r--r--src/main/resources/db/specific/mariadb/V1.24__fix_lastmessage.sql1
-rw-r--r--src/main/resources/db/specific/mariadb/V1.25__update_tokens_size.sql3
-rw-r--r--src/main/resources/db/specific/mariadb/V1.27__followers_unique.sql1
-rw-r--r--src/main/resources/db/specific/postgresql/V1.25__update_tokens_size.sql3
-rw-r--r--src/main/resources/schema-h2.sql (renamed from src/main/resources/db/specific/h2/V1.22__schema.sql)167
-rw-r--r--src/main/resources/schema-mysql.sql (renamed from src/test/resources/db/specific/mariadb/V1.22__schema.sql)286
-rw-r--r--src/main/resources/schema-sqlite.sql (renamed from src/main/resources/db/specific/sqlite/V1.22__schema.sql)100
-rw-r--r--src/test/resources/data-mysql.sql (renamed from src/test/resources/db/specific/mariadb/V1.999__data.sql)0
-rw-r--r--src/test/resources/data-postgresql.sql (renamed from src/test/resources/db/specific/postgresql/V1.999__data.sql)0
22 files changed, 199 insertions, 371 deletions
diff --git a/src/main/resources/application-postgres.properties b/src/main/resources/application-postgres.properties
index 05dbc12d..c3697a7c 100644
--- a/src/main/resources/application-postgres.properties
+++ b/src/main/resources/application-postgres.properties
@@ -1 +1,2 @@
spring.sql.init.platform=postgresql
+spring.flyway.enabled=true \ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index ecea6a79..989e1c63 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -5,7 +5,7 @@ spring.jackson.serialization.write-dates-as-timestamps=false
spring.jackson.serialization.write-empty-json-arrays=true
spring.h2.console.enabled=true
spring.datasource.generate-unique-name=false
-spring.flyway.locations=classpath:db/migration,classpath:db/specific/{vendor}
+spring.flyway.enabled=false
spring.sql.init.platform=h2
spring.cache.type=simple
spring.cache.cache-names=help, usernames, users_by_name, discover, discussions, messages, replies, popular_tags, profiles, twitter_user
diff --git a/src/test/resources/db/specific/postgresql/V1.22__schema.sql b/src/main/resources/db/migration/V1.22__schema.sql
index aab050a6..aab050a6 100644
--- a/src/test/resources/db/specific/postgresql/V1.22__schema.sql
+++ b/src/main/resources/db/migration/V1.22__schema.sql
diff --git a/src/main/resources/db/specific/postgresql/V1.24__fix_lastmessage.sql b/src/main/resources/db/migration/V1.24__fix_lastmessage.sql
index ba3eee8c..ba3eee8c 100644
--- a/src/main/resources/db/specific/postgresql/V1.24__fix_lastmessage.sql
+++ b/src/main/resources/db/migration/V1.24__fix_lastmessage.sql
diff --git a/src/main/resources/db/specific/h2/V1.25__update_tokens_size.sql b/src/main/resources/db/migration/V1.25__update_tokens_size.sql
index a1c7bbac..a1c7bbac 100644
--- a/src/main/resources/db/specific/h2/V1.25__update_tokens_size.sql
+++ b/src/main/resources/db/migration/V1.25__update_tokens_size.sql
diff --git a/src/main/resources/db/specific/postgresql/V1.26__case_insensitive_nick.sql b/src/main/resources/db/migration/V1.26__case_insensitive_nick.sql
index a68c15f3..a68c15f3 100644
--- a/src/main/resources/db/specific/postgresql/V1.26__case_insensitive_nick.sql
+++ b/src/main/resources/db/migration/V1.26__case_insensitive_nick.sql
diff --git a/src/main/resources/db/specific/postgresql/V1.27__followers_unique.sql b/src/main/resources/db/migration/V1.27__followers_unique.sql
index 5a15d9ae..5a15d9ae 100644
--- a/src/main/resources/db/specific/postgresql/V1.27__followers_unique.sql
+++ b/src/main/resources/db/migration/V1.27__followers_unique.sql
diff --git a/src/main/resources/db/specific/postgresql/V1.35__case_insensitive_email_jid.sql b/src/main/resources/db/migration/V1.35__case_insensitive_email_jid.sql
index 93a987b8..93a987b8 100644
--- a/src/main/resources/db/specific/postgresql/V1.35__case_insensitive_email_jid.sql
+++ b/src/main/resources/db/migration/V1.35__case_insensitive_email_jid.sql
diff --git a/src/main/resources/db/specific/postgresql/V1.36__web_tokens.sql b/src/main/resources/db/migration/V1.36__web_tokens.sql
index ccdefad2..ccdefad2 100644
--- a/src/main/resources/db/specific/postgresql/V1.36__web_tokens.sql
+++ b/src/main/resources/db/migration/V1.36__web_tokens.sql
diff --git a/src/main/resources/db/specific/h2/V1.24__fix_lastmessage.sql b/src/main/resources/db/specific/h2/V1.24__fix_lastmessage.sql
deleted file mode 100644
index bcca2b50..00000000
--- a/src/main/resources/db/specific/h2/V1.24__fix_lastmessage.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-ALTER TABLE users ALTER COLUMN lastmessage SET NULL
-
diff --git a/src/main/resources/db/specific/h2/V1.26__case_insensitive_nick.sql b/src/main/resources/db/specific/h2/V1.26__case_insensitive_nick.sql
deleted file mode 100644
index 3b17aa00..00000000
--- a/src/main/resources/db/specific/h2/V1.26__case_insensitive_nick.sql
+++ /dev/null
@@ -1 +0,0 @@
-ALTER TABLE users ALTER COLUMN nick SET DATA TYPE VARCHAR_IGNORECASE(64)
diff --git a/src/main/resources/db/specific/h2/V1.27__followers_unique.sql b/src/main/resources/db/specific/h2/V1.27__followers_unique.sql
deleted file mode 100644
index e103d1a0..00000000
--- a/src/main/resources/db/specific/h2/V1.27__followers_unique.sql
+++ /dev/null
@@ -1 +0,0 @@
-ALTER TABLE followers ADD UNIQUE (user_id, acct) \ No newline at end of file
diff --git a/src/main/resources/db/specific/h2/V1.35__case_insensitive_email_jid.sql b/src/main/resources/db/specific/h2/V1.35__case_insensitive_email_jid.sql
deleted file mode 100644
index a20debf6..00000000
--- a/src/main/resources/db/specific/h2/V1.35__case_insensitive_email_jid.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-ALTER TABLE jids ALTER COLUMN jid SET DATA TYPE VARCHAR_IGNORECASE(255);
-ALTER TABLE emails ALTER COLUMN email SET DATA TYPE VARCHAR_IGNORECASE(255)
diff --git a/src/main/resources/db/specific/mariadb/V1.24__fix_lastmessage.sql b/src/main/resources/db/specific/mariadb/V1.24__fix_lastmessage.sql
deleted file mode 100644
index 399abf01..00000000
--- a/src/main/resources/db/specific/mariadb/V1.24__fix_lastmessage.sql
+++ /dev/null
@@ -1 +0,0 @@
-ALTER TABLE users MODIFY COLUMN lastmessage TIMESTAMP(6) NULL \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.25__update_tokens_size.sql b/src/main/resources/db/specific/mariadb/V1.25__update_tokens_size.sql
deleted file mode 100644
index 05eefe24..00000000
--- a/src/main/resources/db/specific/mariadb/V1.25__update_tokens_size.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-ALTER TABLE vk MODIFY COLUMN access_token VARCHAR(255);
-ALTER TABLE twitter MODIFY COLUMN access_token VARCHAR(255);
-ALTER TABLE facebook MODIFY COLUMN access_token VARCHAR(255); \ No newline at end of file
diff --git a/src/main/resources/db/specific/mariadb/V1.27__followers_unique.sql b/src/main/resources/db/specific/mariadb/V1.27__followers_unique.sql
deleted file mode 100644
index e103d1a0..00000000
--- a/src/main/resources/db/specific/mariadb/V1.27__followers_unique.sql
+++ /dev/null
@@ -1 +0,0 @@
-ALTER TABLE followers ADD UNIQUE (user_id, acct) \ No newline at end of file
diff --git a/src/main/resources/db/specific/postgresql/V1.25__update_tokens_size.sql b/src/main/resources/db/specific/postgresql/V1.25__update_tokens_size.sql
deleted file mode 100644
index a1c7bbac..00000000
--- a/src/main/resources/db/specific/postgresql/V1.25__update_tokens_size.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-ALTER TABLE vk ALTER COLUMN access_token TYPE character varying(255);
-ALTER TABLE twitter ALTER COLUMN access_token TYPE character varying(255);
-ALTER TABLE facebook ALTER COLUMN access_token TYPE character varying(255); \ No newline at end of file
diff --git a/src/main/resources/db/specific/h2/V1.22__schema.sql b/src/main/resources/schema-h2.sql
index e616c943..43320fb6 100644
--- a/src/main/resources/db/specific/h2/V1.22__schema.sql
+++ b/src/main/resources/schema-h2.sql
@@ -1,31 +1,21 @@
-- H2 2.1.214;
-SET DB_CLOSE_DELAY -1;
-
-CREATE MEMORY TABLE "PUBLIC"."ANDROID"(
- "USER_ID" INTEGER NOT NULL,
- "REGID" VARCHAR(1024) NOT NULL,
+CREATE MEMORY TABLE "PUBLIC"."JIDS"(
+ "USER_ID" INTEGER DEFAULT NULL,
+ "JID" VARCHAR_IGNORECASE(255) NOT NULL,
+ "ACTIVE" TINYINT DEFAULT '1' NOT NULL,
+ "LOGINHASH" CHARACTER(36) DEFAULT NULL,
"TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.ANDROID;
-CREATE MEMORY TABLE "PUBLIC"."MAIL"(
- "USER_ID" INTEGER NOT NULL,
- "HASH" CHARACTER(16) NOT NULL,
- "TS" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL
-);
-ALTER TABLE "PUBLIC"."MAIL" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_23" PRIMARY KEY("USER_ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.MAIL;
CREATE MEMORY TABLE "PUBLIC"."BL_TAGS"(
"USER_ID" INTEGER NOT NULL,
"TAG_ID" INTEGER NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.BL_TAGS;
CREATE MEMORY TABLE "PUBLIC"."BL_USERS"(
"USER_ID" INTEGER NOT NULL,
"BL_USER_ID" INTEGER NOT NULL,
"TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE "PUBLIC"."BL_USERS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_2" PRIMARY KEY("USER_ID", "BL_USER_ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.BL_USERS;
CREATE MEMORY TABLE "PUBLIC"."REACTIONS"(
"LIKE_ID" INTEGER NOT NULL,
"DESCRIPTION" CHARACTER VARYING(100) NOT NULL
@@ -35,9 +25,8 @@ CREATE MEMORY TABLE "PUBLIC"."FAVORITES"(
"MESSAGE_ID" INTEGER NOT NULL,
"TS" TIMESTAMP NOT NULL,
"LIKE_ID" INTEGER,
- "USER_URI" VARCHAR(255) DEFAULT '' NOT NULL
+ "USER_URI" CHARACTER VARYING(255) DEFAULT '' NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.FAVORITES;
CREATE MEMORY TABLE "PUBLIC"."AUTH"(
"USER_ID" INTEGER,
"PROTOCOL" ENUM('xmpp', 'email', 'sms') NOT NULL,
@@ -45,7 +34,6 @@ CREATE MEMORY TABLE "PUBLIC"."AUTH"(
"AUTHCODE" CHARACTER(8) NOT NULL,
"TS" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.AUTH;
CREATE MEMORY TABLE "PUBLIC"."IMAGES"(
"MID" INTEGER NOT NULL,
"RID" INTEGER NOT NULL,
@@ -56,14 +44,12 @@ CREATE MEMORY TABLE "PUBLIC"."IMAGES"(
"WIDTH" INTEGER NOT NULL
);
ALTER TABLE "PUBLIC"."IMAGES" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_8" PRIMARY KEY("MID", "RID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.IMAGES;
CREATE MEMORY TABLE "PUBLIC"."MESSAGES_PROPERTIES"(
"MESSAGE_ID" INTEGER NOT NULL,
"REPLY_ID" SMALLINT NOT NULL,
"PROPERTY_KEY" CHARACTER VARYING(255) NOT NULL,
"PROPERTY_VALUE" CHARACTER VARYING NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.MESSAGES_PROPERTIES;
CREATE MEMORY TABLE "PUBLIC"."MEON"(
"ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) DEFAULT ON NULL NOT NULL,
"USER_ID" INTEGER NOT NULL,
@@ -72,51 +58,43 @@ CREATE MEMORY TABLE "PUBLIC"."MEON"(
"ICO" SMALLINT DEFAULT NULL
);
ALTER TABLE "PUBLIC"."MEON" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_24" PRIMARY KEY("ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.MEON;
CREATE MEMORY TABLE "PUBLIC"."MESSAGES_ACCESS"(
"MESSAGE_ID" INTEGER NOT NULL,
"USER_ID" INTEGER NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.MESSAGES_ACCESS;
CREATE MEMORY TABLE "PUBLIC"."MESSAGES_TAGS"(
"MESSAGE_ID" INTEGER NOT NULL,
"TAG_ID" INTEGER NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.MESSAGES_TAGS;
-CREATE MEMORY TABLE "PUBLIC"."USEROPTIONS"(
- "USER_ID" INTEGER NOT NULL,
- "JNOTIFY" TINYINT DEFAULT '1' NOT NULL,
- "SUBSCR_ACTIVE" TINYINT DEFAULT '1' NOT NULL,
- "XMPPXHTML" TINYINT DEFAULT '0' NOT NULL,
- "SUBSCR_NOTIFY" TINYINT DEFAULT '1' NOT NULL,
- "OFF_TS" TIMESTAMP,
- "RECOMMENDATIONS" TINYINT DEFAULT '1' NOT NULL,
- "PRIVACY_VIEW" TINYINT DEFAULT '1' NOT NULL,
- "PRIVACY_REPLY" TINYINT DEFAULT '1' NOT NULL,
- "PRIVACY_PM" TINYINT DEFAULT '1' NOT NULL,
- "REPLIESVIEW" TINYINT DEFAULT '0' NOT NULL
-);
-ALTER TABLE "PUBLIC"."USEROPTIONS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_C0" PRIMARY KEY("USER_ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.USEROPTIONS;
+CREATE MEMORY TABLE "PUBLIC"."USERS"(
+ "ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0 RESTART WITH 6 MINVALUE 0) DEFAULT ON NULL NOT NULL,
+ "NICK" VARCHAR_IGNORECASE(64) NOT NULL,
+ "PASSW" CHARACTER VARYING(32) NOT NULL,
+ "LANG" ENUM('en', 'ru', 'fr', 'fa', '__') DEFAULT '__' NOT NULL,
+ "BANNED" TINYINT DEFAULT '0' NOT NULL,
+ "LASTMESSAGE" TIMESTAMP(6),
+ "LASTPM" INTEGER DEFAULT '0' NOT NULL,
+ "LASTPHOTO" INTEGER DEFAULT '0' NOT NULL,
+ "KARMA" SMALLINT DEFAULT '0' NOT NULL,
+ "LAST_SEEN" TIMESTAMP(6)
+);
+ALTER TABLE "PUBLIC"."USERS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_4" PRIMARY KEY("ID");
CREATE MEMORY TABLE "PUBLIC"."PM"(
"USER_ID" INTEGER NOT NULL,
"USER_ID_TO" INTEGER NOT NULL,
"TS" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL,
"TXT" CHARACTER VARYING NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.PM;
CREATE MEMORY TABLE "PUBLIC"."FOLLOWERS"(
"USER_ID" INTEGER DEFAULT NULL,
"TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
- "ACCT" VARCHAR(64) NOT NULL
+ "ACCT" CHARACTER VARYING(64) NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.FOLLOWERS;
CREATE MEMORY TABLE "PUBLIC"."SUBSCR_USERS"(
"USER_ID" INTEGER NOT NULL,
"SUSER_ID" INTEGER NOT NULL,
"TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.SUBSCR_USERS;
CREATE MEMORY TABLE "PUBLIC"."MESSENGER"(
"USER_ID" INTEGER DEFAULT NULL,
"SENDER_ID" BIGINT NOT NULL,
@@ -124,7 +102,6 @@ CREATE MEMORY TABLE "PUBLIC"."MESSENGER"(
"TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
"LOGINHASH" CHARACTER(36) DEFAULT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.MESSENGER;
CREATE MEMORY TABLE "PUBLIC"."PLACES"(
"PLACE_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) DEFAULT ON NULL NOT NULL,
"LAT" DECIMAL(10, 7) NOT NULL,
@@ -136,12 +113,10 @@ CREATE MEMORY TABLE "PUBLIC"."PLACES"(
"TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE "PUBLIC"."PLACES" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_8C" PRIMARY KEY("PLACE_ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.PLACES;
CREATE MEMORY TABLE "PUBLIC"."PLACES_TAGS"(
"PLACE_ID" INTEGER NOT NULL,
"TAG_ID" INTEGER NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.PLACES_TAGS;
CREATE MEMORY TABLE "PUBLIC"."REPLIES"(
"MESSAGE_ID" INTEGER NOT NULL,
"REPLY_ID" SMALLINT NOT NULL,
@@ -151,11 +126,10 @@ CREATE MEMORY TABLE "PUBLIC"."REPLIES"(
"ATTACH" CHARACTER(3),
"TXT" CHARACTER VARYING NOT NULL,
"UPDATED_AT" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL,
- "USER_URI" VARCHAR(255) DEFAULT NULL,
- "REPLY_URI" VARCHAR(255) DEFAULT NULL,
+ "USER_URI" CHARACTER VARYING(255) DEFAULT NULL,
+ "REPLY_URI" CHARACTER VARYING(255) DEFAULT NULL,
"HTML" TINYINT DEFAULT '0' NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.REPLIES;
CREATE INDEX "PUBLIC"."REPLY_URI_INDEX" ON "PUBLIC"."REPLIES"("REPLY_URI" NULLS FIRST);
CREATE MEMORY TABLE "PUBLIC"."MESSAGES_TXT"(
"MESSAGE_ID" INTEGER NOT NULL,
@@ -164,7 +138,6 @@ CREATE MEMORY TABLE "PUBLIC"."MESSAGES_TXT"(
"UPDATED_AT" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE "PUBLIC"."MESSAGES_TXT" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_3E" PRIMARY KEY("MESSAGE_ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.MESSAGES_TXT;
CREATE MEMORY TABLE "PUBLIC"."MESSAGES"(
"MESSAGE_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) DEFAULT ON NULL NOT NULL,
"USER_ID" INTEGER NOT NULL,
@@ -184,42 +157,40 @@ CREATE MEMORY TABLE "PUBLIC"."MESSAGES"(
"UPDATED" TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL
);
ALTER TABLE "PUBLIC"."MESSAGES" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_13" PRIMARY KEY("MESSAGE_ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.MESSAGES;
CREATE MEMORY TABLE "PUBLIC"."VK"(
"USER_ID" INTEGER DEFAULT NULL,
"VK_ID" BIGINT NOT NULL,
"LOGINHASH" CHARACTER(36) DEFAULT NULL,
- "ACCESS_TOKEN" CHARACTER VARYING(64),
+ "ACCESS_TOKEN" CHARACTER VARYING(255),
"TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
"VK_NAME" CHARACTER(64) NOT NULL,
"VK_LINK" CHARACTER(64) NOT NULL,
"CROSSPOST" SMALLINT DEFAULT '1' NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.VK;
CREATE MEMORY TABLE "PUBLIC"."SUBSCR_MESSAGES"(
"MESSAGE_ID" INTEGER NOT NULL,
"SUSER_ID" INTEGER NOT NULL,
"LAST_READ_RID" SMALLINT DEFAULT '0' NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.SUBSCR_MESSAGES;
CREATE MEMORY TABLE "PUBLIC"."SUBSCR_TAGS"(
"TAG_ID" INTEGER NOT NULL,
"SUSER_ID" INTEGER NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.SUBSCR_TAGS;
-CREATE MEMORY TABLE "PUBLIC"."USERS"(
- "ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0 RESTART WITH 6 MINVALUE 0) DEFAULT ON NULL NOT NULL,
- "NICK" VARCHAR(64) NOT NULL,
- "PASSW" VARCHAR(32) NOT NULL,
- "LANG" ENUM('en', 'ru', 'fr', 'fa', '__') DEFAULT '__' NOT NULL,
- "BANNED" TINYINT DEFAULT '0' NOT NULL,
- "LASTMESSAGE" TIMESTAMP(6) NOT NULL,
- "LASTPM" INTEGER DEFAULT '0' NOT NULL,
- "LASTPHOTO" INTEGER DEFAULT '0' NOT NULL,
- "KARMA" SMALLINT DEFAULT '0' NOT NULL,
- "LAST_SEEN" TIMESTAMP(6)
-);
-ALTER TABLE "PUBLIC"."USERS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_4" PRIMARY KEY("ID");
+CREATE MEMORY TABLE "PUBLIC"."OAUTH2_REGISTERED_CLIENT"(
+ "ID" CHARACTER VARYING(100) NOT NULL,
+ "CLIENT_ID" CHARACTER VARYING(100) NOT NULL,
+ "CLIENT_ID_ISSUED_AT" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
+ "CLIENT_SECRET" CHARACTER VARYING(200) DEFAULT NULL,
+ "CLIENT_SECRET_EXPIRES_AT" TIMESTAMP DEFAULT NULL,
+ "CLIENT_NAME" CHARACTER VARYING(200) NOT NULL,
+ "CLIENT_AUTHENTICATION_METHODS" CHARACTER VARYING(1000) NOT NULL,
+ "AUTHORIZATION_GRANT_TYPES" CHARACTER VARYING(1000) NOT NULL,
+ "REDIRECT_URIS" CHARACTER VARYING(1000) DEFAULT NULL,
+ "SCOPES" CHARACTER VARYING(1000) NOT NULL,
+ "CLIENT_SETTINGS" CHARACTER VARYING(2000) NOT NULL,
+ "TOKEN_SETTINGS" CHARACTER VARYING(2000) NOT NULL
+);
+ALTER TABLE "PUBLIC"."OAUTH2_REGISTERED_CLIENT" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_83" PRIMARY KEY("ID");
CREATE MEMORY TABLE "PUBLIC"."TAGS"(
"TAG_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1 RESTART WITH 3) DEFAULT ON NULL NOT NULL,
"SYNONYM_ID" INTEGER DEFAULT NULL,
@@ -233,12 +204,10 @@ ALTER TABLE "PUBLIC"."TAGS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_27" PRIMARY KEY(
CREATE MEMORY TABLE "PUBLIC"."TAGS_IGNORE"(
"TAG_ID" INTEGER NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.TAGS_IGNORE;
CREATE MEMORY TABLE "PUBLIC"."TAGS_SYNONYMS"(
"NAME" CHARACTER(64) NOT NULL,
"CHANGETO" CHARACTER(64) NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.TAGS_SYNONYMS;
CREATE MEMORY TABLE "PUBLIC"."TELEGRAM"(
"USER_ID" INTEGER DEFAULT NULL,
"TG_ID" BIGINT NOT NULL,
@@ -246,127 +215,91 @@ CREATE MEMORY TABLE "PUBLIC"."TELEGRAM"(
"TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
"LOGINHASH" CHARACTER(36) DEFAULT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.TELEGRAM;
CREATE MEMORY TABLE "PUBLIC"."TOP_IGNORE_MESSAGES"(
"MESSAGE_ID" INTEGER NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.TOP_IGNORE_MESSAGES;
CREATE MEMORY TABLE "PUBLIC"."TOP_IGNORE_TAGS"(
"TAG_ID" INTEGER NOT NULL
);
ALTER TABLE "PUBLIC"."TOP_IGNORE_TAGS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_7" PRIMARY KEY("TAG_ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.TOP_IGNORE_TAGS;
CREATE MEMORY TABLE "PUBLIC"."TOP_IGNORE_USERS"(
"USER_ID" INTEGER NOT NULL
);
ALTER TABLE "PUBLIC"."TOP_IGNORE_USERS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_B2" PRIMARY KEY("USER_ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.TOP_IGNORE_USERS;
CREATE MEMORY TABLE "PUBLIC"."FACEBOOK"(
"USER_ID" INTEGER DEFAULT NULL,
"FB_ID" BIGINT,
"LOGINHASH" CHARACTER(36) DEFAULT NULL,
- "ACCESS_TOKEN" CHARACTER VARYING(64),
+ "ACCESS_TOKEN" CHARACTER VARYING(255),
"TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
"FB_NAME" CHARACTER(64),
"FB_LINK" CHARACTER(255),
"CROSSPOST" TINYINT DEFAULT '1' NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.FACEBOOK;
CREATE MEMORY TABLE "PUBLIC"."TWITTER"(
"USER_ID" INTEGER NOT NULL,
- "ACCESS_TOKEN" CHARACTER VARYING(64),
+ "ACCESS_TOKEN" CHARACTER VARYING(255),
"ACCESS_TOKEN_SECRET" CHARACTER(64) NOT NULL,
"UNAME" CHARACTER(64) NOT NULL,
"TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
"CROSSPOST" TINYINT DEFAULT '1' NOT NULL
);
ALTER TABLE "PUBLIC"."TWITTER" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_F" PRIMARY KEY("USER_ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.TWITTER;
CREATE MEMORY TABLE "PUBLIC"."USERS_SUBSCR"(
"USER_ID" INTEGER NOT NULL,
"CNT" SMALLINT DEFAULT '0' NOT NULL
);
ALTER TABLE "PUBLIC"."USERS_SUBSCR" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_BB" PRIMARY KEY("USER_ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.USERS_SUBSCR;
CREATE MEMORY TABLE "PUBLIC"."USERSINFO"(
"USER_ID" INTEGER NOT NULL,
"JID" CHARACTER(32) DEFAULT NULL,
- "FULLNAME" VARCHAR(32) DEFAULT NULL,
- "COUNTRY" VARCHAR(32) DEFAULT NULL,
+ "FULLNAME" CHARACTER VARYING(32) DEFAULT NULL,
+ "COUNTRY" CHARACTER VARYING(32) DEFAULT NULL,
"URL" CHARACTER(64) DEFAULT NULL,
"GENDER" CHARACTER(32) DEFAULT NULL,
"BDAY" CHARACTER(10) DEFAULT NULL,
"DESCR" CHARACTER VARYING(255) DEFAULT NULL
);
ALTER TABLE "PUBLIC"."USERSINFO" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_BB6" PRIMARY KEY("USER_ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.USERSINFO;
CREATE MEMORY TABLE "PUBLIC"."EMAILS"(
"USER_ID" INTEGER NOT NULL,
- "EMAIL" VARCHAR(64) NOT NULL,
+ "EMAIL" VARCHAR_IGNORECASE(255) NOT NULL,
"SUBSCR_HOUR" TINYINT DEFAULT NULL
);
ALTER TABLE "PUBLIC"."EMAILS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_7A" PRIMARY KEY("EMAIL");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.EMAILS;
-CREATE MEMORY TABLE "PUBLIC"."IOS"(
- "USER_ID" INTEGER NOT NULL,
- "TOKEN" VARCHAR(64) NOT NULL,
- "TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
-);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.IOS;
-CREATE MEMORY TABLE "PUBLIC"."JIDS"(
- "USER_ID" INTEGER DEFAULT NULL,
- "JID" CHARACTER(64) NOT NULL,
- "ACTIVE" TINYINT DEFAULT '1' NOT NULL,
- "LOGINHASH" CHARACTER(36) DEFAULT NULL,
- "TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
-);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.JIDS;
CREATE MEMORY TABLE "PUBLIC"."LOGINS"(
"USER_ID" INTEGER NOT NULL,
"HASH" CHARACTER(16) NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.LOGINS;
-CREATE MEMORY TABLE "PUBLIC"."PM_INROSTER"(
- "USER_ID" INTEGER NOT NULL,
- "JID" CHARACTER(64) NOT NULL
-);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.PM_INROSTER;
CREATE MEMORY TABLE "PUBLIC"."VERSION"(
"VERSION" BIGINT NOT NULL
);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.VERSION;
-CREATE MEMORY TABLE "PUBLIC"."WINPHONE"(
- "USER_ID" INTEGER NOT NULL,
- "URL" CHARACTER(255) NOT NULL,
- "TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
-);
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.WINPHONE;
CREATE MEMORY TABLE "PUBLIC"."WL_USERS"(
"USER_ID" INTEGER NOT NULL,
"WL_USER_ID" INTEGER NOT NULL
);
ALTER TABLE "PUBLIC"."WL_USERS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_A8" PRIMARY KEY("USER_ID", "WL_USER_ID");
--- 0 +/- SELECT COUNT(*) FROM PUBLIC.WL_USERS;
+CREATE MEMORY TABLE "PUBLIC"."USER_SERVICES"(
+ "USER_ID" INTEGER NOT NULL,
+ "REGID" CHARACTER VARYING(1024) NOT NULL,
+ "TS" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
+ "SERVICE_TYPE" CHARACTER VARYING(255) DEFAULT 'fcm' NOT NULL
+);
ALTER TABLE "PUBLIC"."MESSAGES" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_131" CHECK("ATTACH" IN('jpg', 'mp4', 'png')) NOCHECK;
ALTER TABLE "PUBLIC"."REPLIES" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_6C" CHECK("ATTACH" IN('jpg', 'mp4', 'png')) NOCHECK;
ALTER TABLE "PUBLIC"."LOGINS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_86" UNIQUE("USER_ID");
-ALTER TABLE "PUBLIC"."PM_INROSTER" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_5" UNIQUE("USER_ID", "JID");
ALTER TABLE "PUBLIC"."REACTIONS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_6" UNIQUE("LIKE_ID");
-ALTER TABLE "PUBLIC"."IOS" ADD CONSTRAINT "PUBLIC"."TOKEN" UNIQUE("TOKEN");
ALTER TABLE "PUBLIC"."SUBSCR_TAGS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_B" UNIQUE("TAG_ID", "SUSER_ID");
+ALTER TABLE "PUBLIC"."FOLLOWERS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_D3" UNIQUE("USER_ID", "ACCT");
ALTER TABLE "PUBLIC"."SUBSCR_USERS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_C" UNIQUE("USER_ID", "SUSER_ID");
ALTER TABLE "PUBLIC"."MESSAGES_PROPERTIES" ADD CONSTRAINT "PUBLIC"."MESSAGE_KEY" UNIQUE("MESSAGE_ID", "REPLY_ID", "PROPERTY_KEY");
ALTER TABLE "PUBLIC"."USERS" ADD CONSTRAINT "PUBLIC"."NICK" UNIQUE("NICK");
ALTER TABLE "PUBLIC"."MESSAGES_TAGS" ADD CONSTRAINT "PUBLIC"."MESSAGE_ID_2" UNIQUE("MESSAGE_ID", "TAG_ID");
ALTER TABLE "PUBLIC"."SUBSCR_MESSAGES" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_6D" UNIQUE("MESSAGE_ID", "SUSER_ID");
ALTER TABLE "PUBLIC"."JIDS" ADD CONSTRAINT "PUBLIC"."JID" UNIQUE("JID");
-ALTER TABLE "PUBLIC"."WINPHONE" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_EC" UNIQUE("URL");
ALTER TABLE "PUBLIC"."VK" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_A" FOREIGN KEY("USER_ID") REFERENCES "PUBLIC"."USERS"("ID") NOCHECK;
ALTER TABLE "PUBLIC"."FAVORITES" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_3" FOREIGN KEY("LIKE_ID") REFERENCES "PUBLIC"."REACTIONS"("LIKE_ID") NOCHECK;
-ALTER TABLE "PUBLIC"."IOS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_1" FOREIGN KEY("USER_ID") REFERENCES "PUBLIC"."USERS"("ID") NOCHECK;
ALTER TABLE "PUBLIC"."MESSAGES" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_131A" FOREIGN KEY("USER_ID") REFERENCES "PUBLIC"."USERS"("ID") NOCHECK;
ALTER TABLE "PUBLIC"."FOLLOWERS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_D" FOREIGN KEY("USER_ID") REFERENCES "PUBLIC"."USERS"("ID") NOCHECK;
ALTER TABLE "PUBLIC"."JIDS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_22" FOREIGN KEY("USER_ID") REFERENCES "PUBLIC"."USERS"("ID") NOCHECK;
ALTER TABLE "PUBLIC"."EMAILS" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_7A1" FOREIGN KEY("USER_ID") REFERENCES "PUBLIC"."USERS"("ID") NOCHECK;
-ALTER TABLE "PUBLIC"."PM_INROSTER" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_54" FOREIGN KEY("USER_ID") REFERENCES "PUBLIC"."USERS"("ID") NOCHECK;
-ALTER TABLE "PUBLIC"."WINPHONE" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_ECD" FOREIGN KEY("USER_ID") REFERENCES "PUBLIC"."USERS"("ID") NOCHECK;
diff --git a/src/test/resources/db/specific/mariadb/V1.22__schema.sql b/src/main/resources/schema-mysql.sql
index 9d5e2ff0..5ffaba3c 100644
--- a/src/test/resources/db/specific/mariadb/V1.22__schema.sql
+++ b/src/main/resources/schema-mysql.sql
@@ -1,8 +1,8 @@
--- MariaDB dump 10.19 Distrib 10.5.15-MariaDB, for debian-linux-gnu (x86_64)
+-- MariaDB dump 10.19 Distrib 10.5.18-MariaDB, for debian-linux-gnu (x86_64)
--
-- Host: localhost Database: juick
-- ------------------------------------------------------
--- Server version 10.5.15-MariaDB-0+deb11u1
+-- Server version 10.5.18-MariaDB-0+deb11u1
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@@ -16,22 +16,6 @@
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
--- Table structure for table `android`
---
-
-DROP TABLE IF EXISTS `android`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `android` (
- `user_id` int(10) unsigned NOT NULL,
- `regid` text NOT NULL,
- `ts` timestamp NOT NULL DEFAULT current_timestamp(),
- UNIQUE KEY `regid` (`regid`),
- KEY `user_id` (`user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
-- Table structure for table `auth`
--
@@ -41,10 +25,10 @@ DROP TABLE IF EXISTS `auth`;
CREATE TABLE `auth` (
`user_id` int(10) unsigned DEFAULT NULL,
`protocol` enum('xmpp','email','sms') NOT NULL,
- `account` char(64) NOT NULL,
+ `account` char(128) NOT NULL,
`authcode` char(8) NOT NULL,
`ts` timestamp(6) NOT NULL DEFAULT current_timestamp(6)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -59,7 +43,7 @@ CREATE TABLE `bl_tags` (
`tag_id` int(10) unsigned NOT NULL,
KEY `tag_id` (`tag_id`),
KEY `user_id` (`user_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -74,7 +58,7 @@ CREATE TABLE `bl_users` (
`bl_user_id` int(10) unsigned NOT NULL,
`ts` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`user_id`,`bl_user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -86,10 +70,10 @@ DROP TABLE IF EXISTS `emails`;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `emails` (
`user_id` int(10) unsigned NOT NULL,
- `email` char(64) NOT NULL,
+ `email` char(128) NOT NULL,
`subscr_hour` tinyint(4) DEFAULT NULL,
KEY `email` (`email`) USING HASH
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -103,13 +87,13 @@ CREATE TABLE `facebook` (
`user_id` int(10) unsigned DEFAULT NULL,
`fb_id` bigint(20) unsigned DEFAULT NULL,
`loginhash` char(36) DEFAULT NULL,
- `access_token` char(255) DEFAULT NULL,
+ `access_token` varchar(255) DEFAULT NULL,
`ts` timestamp NOT NULL DEFAULT current_timestamp(),
`fb_name` char(64) DEFAULT NULL,
`fb_link` char(255) DEFAULT NULL,
`crosspost` tinyint(1) unsigned NOT NULL DEFAULT 1,
KEY `user_id` (`user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -125,10 +109,10 @@ CREATE TABLE `favorites` (
`ts` datetime NOT NULL,
`like_id` int(10) unsigned NOT NULL DEFAULT 1,
`user_uri` char(255) NOT NULL DEFAULT '',
- KEY `user_id` (`user_id`),
- KEY `message_id` (`message_id`),
- KEY `like_id` (`like_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+ KEY `like_id` (`like_id`),
+ KEY `fav_index` (`user_id`,`message_id`),
+ KEY `fav_message_index` (`message_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -139,12 +123,12 @@ DROP TABLE IF EXISTS `followers`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `followers` (
- `user_id` int(10) unsigned DEFAULT NULL,
+ `user_id` int(10) unsigned NOT NULL DEFAULT 0,
`ts` timestamp NOT NULL DEFAULT current_timestamp(),
`acct` char(64) NOT NULL,
- KEY `user_id` (`user_id`),
- CONSTRAINT `followers_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+ UNIQUE KEY `user_id_2` (`user_id`,`acct`),
+ KEY `user_id` (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -167,22 +151,6 @@ CREATE TABLE `images` (
/*!40101 SET character_set_client = @saved_cs_client */;
--
--- Table structure for table `ios`
---
-
-DROP TABLE IF EXISTS `ios`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `ios` (
- `user_id` int(10) unsigned NOT NULL,
- `token` char(64) COLLATE utf8mb4_unicode_ci NOT NULL,
- `ts` timestamp NOT NULL DEFAULT current_timestamp(),
- UNIQUE KEY `token` (`token`),
- KEY `user_id` (`user_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
-- Table structure for table `jids`
--
@@ -197,7 +165,7 @@ CREATE TABLE `jids` (
`ts` timestamp NOT NULL DEFAULT current_timestamp(),
UNIQUE KEY `jid` (`jid`),
KEY `user_id` (`user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -211,22 +179,7 @@ CREATE TABLE `logins` (
`user_id` int(10) unsigned NOT NULL,
`hash` char(16) NOT NULL,
UNIQUE KEY `user_id` (`user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Table structure for table `mail`
---
-
-DROP TABLE IF EXISTS `mail`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `mail` (
- `user_id` int(10) unsigned NOT NULL,
- `hash` char(16) NOT NULL,
- `ts` timestamp(6) NOT NULL DEFAULT current_timestamp(6),
- PRIMARY KEY (`user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -243,7 +196,7 @@ CREATE TABLE `meon` (
`name` char(32) NOT NULL,
`ico` smallint(5) unsigned DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -278,7 +231,7 @@ CREATE TABLE `messages` (
KEY `popular` (`popular`),
KEY `hidden` (`hidden`),
KEY `updated_indx` (`updated`,`message_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -292,7 +245,7 @@ CREATE TABLE `messages_access` (
`message_id` int(10) unsigned NOT NULL,
`user_id` int(10) unsigned NOT NULL,
KEY `message_id` (`message_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -308,7 +261,7 @@ CREATE TABLE `messages_properties` (
`property_key` varchar(255) NOT NULL,
`property_value` mediumtext NOT NULL,
UNIQUE KEY `message_key` (`message_id`,`reply_id`,`property_key`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -324,7 +277,7 @@ CREATE TABLE `messages_tags` (
UNIQUE KEY `message_id_2` (`message_id`,`tag_id`),
KEY `message_id` (`message_id`),
KEY `tag_id` (`tag_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -336,8 +289,8 @@ DROP TABLE IF EXISTS `messages_txt`;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `messages_txt` (
`message_id` int(10) unsigned NOT NULL,
- `repliesby` varchar(96) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
- `txt` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
+ `repliesby` varchar(96) DEFAULT NULL,
+ `txt` mediumtext NOT NULL,
`updated_at` timestamp(6) NOT NULL DEFAULT current_timestamp(6),
PRIMARY KEY (`message_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
@@ -356,7 +309,31 @@ CREATE TABLE `messenger` (
`display_name` char(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`ts` timestamp NOT NULL DEFAULT current_timestamp(),
`loginhash` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `oauth2_registered_client`
+--
+
+DROP TABLE IF EXISTS `oauth2_registered_client`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `oauth2_registered_client` (
+ `id` varchar(100) NOT NULL,
+ `client_id` varchar(100) NOT NULL,
+ `client_id_issued_at` timestamp NOT NULL DEFAULT current_timestamp(),
+ `client_secret` varchar(200) DEFAULT NULL,
+ `client_secret_expires_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `client_name` varchar(200) NOT NULL,
+ `client_authentication_methods` varchar(1000) NOT NULL,
+ `authorization_grant_types` varchar(1000) NOT NULL,
+ `redirect_uris` varchar(1000) DEFAULT NULL,
+ `scopes` varchar(1000) NOT NULL,
+ `client_settings` varchar(2000) NOT NULL,
+ `token_settings` varchar(2000) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -376,7 +353,7 @@ CREATE TABLE `places` (
`user_id` int(10) unsigned NOT NULL,
`ts` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`place_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -389,7 +366,7 @@ DROP TABLE IF EXISTS `places_tags`;
CREATE TABLE `places_tags` (
`place_id` int(10) unsigned NOT NULL,
`tag_id` int(10) unsigned NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -403,23 +380,11 @@ CREATE TABLE `pm` (
`user_id` int(10) unsigned NOT NULL,
`user_id_to` int(10) unsigned NOT NULL,
`ts` timestamp(6) NOT NULL DEFAULT current_timestamp(6),
- `txt` text NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Table structure for table `pm_inroster`
---
-
-DROP TABLE IF EXISTS `pm_inroster`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `pm_inroster` (
- `user_id` int(10) unsigned NOT NULL,
- `jid` char(64) NOT NULL,
- UNIQUE KEY `user_id_2` (`user_id`,`jid`),
- KEY `user_id` (`user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+ `txt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ KEY `user_indx` (`user_id`),
+ KEY `user_to_indx` (`user_id_to`),
+ KEY `ts_indx` (`ts`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -432,7 +397,7 @@ DROP TABLE IF EXISTS `reactions`;
CREATE TABLE `reactions` (
`like_id` int(10) unsigned NOT NULL,
`description` varchar(100) NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -448,11 +413,11 @@ CREATE TABLE `replies` (
`user_id` int(10) unsigned NOT NULL,
`replyto` smallint(5) unsigned NOT NULL DEFAULT 0,
`ts` timestamp(6) NOT NULL DEFAULT current_timestamp(6),
- `attach` enum('jpg','mp4','png') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
- `txt` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
+ `attach` enum('jpg','mp4','png') DEFAULT NULL,
+ `txt` mediumtext NOT NULL,
`updated_at` timestamp(6) NOT NULL DEFAULT current_timestamp(6),
- `user_uri` char(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
- `reply_uri` char(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `user_uri` char(255) DEFAULT NULL,
+ `reply_uri` char(255) DEFAULT NULL,
`html` tinyint(4) NOT NULL DEFAULT 0,
KEY `ts` (`ts`),
KEY `message_id` (`message_id`),
@@ -463,6 +428,36 @@ CREATE TABLE `replies` (
/*!40101 SET character_set_client = @saved_cs_client */;
--
+-- Table structure for table `search`
+--
+
+DROP TABLE IF EXISTS `search`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `search` (
+ `id` bigint(20) unsigned NOT NULL,
+ `weight` int(11) NOT NULL,
+ `query` varchar(3072) NOT NULL,
+ `group_id` int(11) DEFAULT NULL,
+ KEY `query` (`query`(768))
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci CONNECTION='sphinx://127.0.0.1:3312/messages';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `sphinx`
+--
+
+DROP TABLE IF EXISTS `sphinx`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `sphinx` (
+ `counter_id` tinyint(3) unsigned NOT NULL,
+ `max_id` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`counter_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
-- Table structure for table `subscr_messages`
--
@@ -472,10 +467,11 @@ DROP TABLE IF EXISTS `subscr_messages`;
CREATE TABLE `subscr_messages` (
`message_id` int(10) unsigned NOT NULL,
`suser_id` int(10) unsigned NOT NULL,
- `last_read_rid` smallint(5) NOT NULL DEFAULT 0,
+ `last_read_rid` smallint(5) unsigned NOT NULL DEFAULT 0,
UNIQUE KEY `message_id` (`message_id`,`suser_id`),
- KEY `last_read_indx` (`suser_id`,`last_read_rid`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+ KEY `last_read_indx` (`suser_id`,`last_read_rid`),
+ KEY `s_indx` (`suser_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -489,7 +485,7 @@ CREATE TABLE `subscr_tags` (
`tag_id` int(10) unsigned NOT NULL,
`suser_id` int(10) unsigned NOT NULL,
UNIQUE KEY `tag_id` (`tag_id`,`suser_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -505,7 +501,7 @@ CREATE TABLE `subscr_users` (
`ts` timestamp NOT NULL DEFAULT current_timestamp(),
UNIQUE KEY `user_id` (`user_id`,`suser_id`),
KEY `suser_id` (`suser_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -518,15 +514,16 @@ DROP TABLE IF EXISTS `tags`;
CREATE TABLE `tags` (
`tag_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`synonym_id` int(10) unsigned DEFAULT NULL,
- `name` char(70) CHARACTER SET utf8mb4 DEFAULT NULL,
+ `name` char(70) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`top` tinyint(1) unsigned NOT NULL DEFAULT 0,
`noindex` tinyint(1) unsigned NOT NULL DEFAULT 0,
`stat_messages` int(10) unsigned NOT NULL DEFAULT 0,
`stat_users` smallint(5) unsigned NOT NULL DEFAULT 0,
PRIMARY KEY (`tag_id`),
+ UNIQUE KEY `tag_name` (`name`),
KEY `synonym_id` (`synonym_id`),
KEY `stat_msg_indx` (`name`,`stat_messages`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -538,7 +535,7 @@ DROP TABLE IF EXISTS `tags_ignore`;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tags_ignore` (
`tag_id` int(10) unsigned NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -551,7 +548,7 @@ DROP TABLE IF EXISTS `tags_synonyms`;
CREATE TABLE `tags_synonyms` (
`name` char(64) NOT NULL,
`changeto` char(64) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -564,9 +561,9 @@ DROP TABLE IF EXISTS `telegram`;
CREATE TABLE `telegram` (
`user_id` int(10) unsigned DEFAULT NULL,
`tg_id` bigint(20) NOT NULL,
- `tg_name` char(64) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `tg_name` char(64) NOT NULL,
`ts` timestamp NOT NULL DEFAULT current_timestamp(),
- `loginhash` char(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL
+ `loginhash` char(36) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -579,7 +576,7 @@ DROP TABLE IF EXISTS `top_ignore_messages`;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `top_ignore_messages` (
`message_id` int(10) unsigned NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -592,7 +589,7 @@ DROP TABLE IF EXISTS `top_ignore_tags`;
CREATE TABLE `top_ignore_tags` (
`tag_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`tag_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -605,7 +602,7 @@ DROP TABLE IF EXISTS `top_ignore_users`;
CREATE TABLE `top_ignore_users` (
`user_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -617,37 +614,30 @@ DROP TABLE IF EXISTS `twitter`;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `twitter` (
`user_id` int(10) unsigned NOT NULL,
- `access_token` char(64) NOT NULL,
+ `access_token` varchar(255) DEFAULT NULL,
`access_token_secret` char(64) NOT NULL,
`uname` char(64) NOT NULL,
`ts` timestamp NOT NULL DEFAULT current_timestamp(),
`crosspost` tinyint(1) unsigned NOT NULL DEFAULT 1,
PRIMARY KEY (`user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
--- Table structure for table `useroptions`
+-- Table structure for table `user_services`
--
-DROP TABLE IF EXISTS `useroptions`;
+DROP TABLE IF EXISTS `user_services`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `useroptions` (
+CREATE TABLE `user_services` (
`user_id` int(10) unsigned NOT NULL,
- `jnotify` tinyint(1) NOT NULL DEFAULT 1,
- `subscr_active` tinyint(1) NOT NULL DEFAULT 1,
- `off_ts` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `xmppxhtml` tinyint(1) NOT NULL DEFAULT 0,
- `subscr_notify` tinyint(1) NOT NULL DEFAULT 1,
- `recommendations` tinyint(1) NOT NULL DEFAULT 1,
- `privacy_view` tinyint(1) NOT NULL DEFAULT 1,
- `privacy_reply` tinyint(1) NOT NULL DEFAULT 1,
- `privacy_pm` tinyint(1) NOT NULL DEFAULT 1,
- `repliesview` tinyint(1) NOT NULL DEFAULT 0,
- PRIMARY KEY (`user_id`),
- KEY `recommendations` (`recommendations`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+ `regid` char(255) NOT NULL,
+ `ts` timestamp NOT NULL DEFAULT current_timestamp(),
+ `service_type` varchar(255) NOT NULL DEFAULT 'fcm',
+ UNIQUE KEY `regid` (`regid`),
+ KEY `user_id` (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -663,14 +653,14 @@ CREATE TABLE `users` (
`passw` char(32) NOT NULL,
`lang` enum('en','ru','fr','fa','__') NOT NULL DEFAULT '__',
`banned` tinyint(3) unsigned NOT NULL DEFAULT 0,
- `lastmessage` timestamp(6) NOT NULL DEFAULT current_timestamp(6),
+ `lastmessage` timestamp(6) NULL DEFAULT NULL,
`lastpm` int(11) NOT NULL DEFAULT 0,
`lastphoto` int(11) NOT NULL DEFAULT 0,
`karma` smallint(6) NOT NULL DEFAULT 0,
`last_seen` timestamp(6) NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `nick` (`nick`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -684,7 +674,7 @@ CREATE TABLE `users_subscr` (
`user_id` int(10) unsigned NOT NULL,
`cnt` smallint(5) unsigned NOT NULL DEFAULT 0,
PRIMARY KEY (`user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -696,7 +686,7 @@ DROP TABLE IF EXISTS `usersinfo`;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `usersinfo` (
`user_id` int(10) unsigned NOT NULL,
- `jid` char(32) DEFAULT NULL,
+ `jid2` char(32) DEFAULT NULL,
`fullname` char(32) DEFAULT NULL,
`country` char(32) DEFAULT NULL,
`url` char(64) DEFAULT NULL,
@@ -704,7 +694,7 @@ CREATE TABLE `usersinfo` (
`bday` char(10) DEFAULT NULL,
`descr` varchar(255) DEFAULT NULL,
PRIMARY KEY (`user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -730,29 +720,13 @@ CREATE TABLE `vk` (
`user_id` int(10) unsigned DEFAULT NULL,
`vk_id` bigint(20) unsigned DEFAULT NULL,
`loginhash` char(36) DEFAULT NULL,
- `access_token` char(128) DEFAULT NULL,
+ `access_token` varchar(255) DEFAULT NULL,
`ts` timestamp NOT NULL DEFAULT current_timestamp(),
`vk_name` char(64) DEFAULT NULL,
`vk_link` char(64) NOT NULL,
`crosspost` tinyint(3) unsigned NOT NULL DEFAULT 1,
KEY `user_id` (`user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Table structure for table `winphone`
---
-
-DROP TABLE IF EXISTS `winphone`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `winphone` (
- `user_id` int(10) unsigned NOT NULL,
- `url` char(255) NOT NULL,
- `ts` timestamp NOT NULL DEFAULT current_timestamp(),
- UNIQUE KEY `url` (`url`),
- KEY `user_id` (`user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -766,7 +740,7 @@ CREATE TABLE `wl_users` (
`user_id` int(10) unsigned NOT NULL,
`wl_user_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`user_id`,`wl_user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
@@ -778,4 +752,4 @@ CREATE TABLE `wl_users` (
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2022-12-16 16:03:20
+-- Dump completed on 2023-01-27 17:47:26
diff --git a/src/main/resources/db/specific/sqlite/V1.22__schema.sql b/src/main/resources/schema-sqlite.sql
index 072b2a1a..7ec33395 100644
--- a/src/main/resources/db/specific/sqlite/V1.22__schema.sql
+++ b/src/main/resources/schema-sqlite.sql
@@ -1,11 +1,10 @@
-CREATE TABLE android (
+CREATE TABLE IF NOT EXISTS "user_services" (
user_id INTEGER NOT NULL,
regid character varying(1024) NOT NULL,
- ts timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
+ ts timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL, service_type varchar(255) not null default 'fcm',
FOREIGN KEY (user_id) REFERENCES users(id),
UNIQUE (regid)
);
-
CREATE TABLE auth (
user_id INTEGER,
protocol TEXT CHECK (protocol IN ('xmpp', 'email', 'sms')) NOT NULL,
@@ -14,14 +13,12 @@ CREATE TABLE auth (
ts timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
CREATE TABLE bl_tags (
user_id bigint NOT NULL,
tag_id bigint NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (tag_id) REFERENCES tags(tag_id)
);
-
CREATE TABLE bl_users (
user_id bigint NOT NULL,
bl_user_id bigint NOT NULL,
@@ -30,14 +27,12 @@ CREATE TABLE bl_users (
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (bl_user_id) REFERENCES users(id)
);
-
CREATE TABLE emails (
user_id bigint NOT NULL,
email character varying(128) NOT NULL,
subscr_hour smallint,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
CREATE TABLE facebook (
user_id bigint,
fb_id numeric,
@@ -49,7 +44,6 @@ CREATE TABLE facebook (
crosspost boolean DEFAULT true NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
CREATE TABLE favorites (
user_id bigint NOT NULL,
message_id bigint NOT NULL,
@@ -58,7 +52,6 @@ CREATE TABLE favorites (
user_uri character varying(255) NOT NULL DEFAULT '',
FOREIGN KEY (like_id) REFERENCES reactions(like_id)
);
-
CREATE TABLE followers (
user_id bigint,
ts timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
@@ -66,7 +59,6 @@ CREATE TABLE followers (
PRIMARY KEY (user_id)
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
CREATE TABLE images (
mid bigint NOT NULL,
rid bigint NOT NULL,
@@ -77,15 +69,6 @@ CREATE TABLE images (
width bigint NOT NULL,
PRIMARY KEY (mid, rid)
);
-
-CREATE TABLE ios (
- user_id bigint NOT NULL,
- token character varying(64) NOT NULL,
- ts timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
- FOREIGN KEY (user_id) REFERENCES users(id),
- UNIQUE (token)
-);
-
CREATE TABLE jids (
user_id bigint,
jid character varying(64) NOT NULL,
@@ -94,20 +77,11 @@ CREATE TABLE jids (
ts timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
CREATE TABLE logins (
user_id bigint NOT NULL,
hash character varying(16) NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
-CREATE TABLE mail (
- user_id INTEGER NOT NULL,
- hash character varying(16) NOT NULL,
- ts timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
- FOREIGN KEY (user_id) REFERENCES users(id)
-);
-
CREATE TABLE meon (
id INTEGER NOT NULL,
user_id bigint NOT NULL,
@@ -116,7 +90,6 @@ CREATE TABLE meon (
ico smallint,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
CREATE TABLE messages (
message_id INTEGER PRIMARY KEY NOT NULL,
user_id bigint NOT NULL,
@@ -136,14 +109,12 @@ CREATE TABLE messages (
updated timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
CREATE TABLE messages_access (
message_id INTEGER NOT NULL,
user_id bigint NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (message_id) REFERENCES messages(message_id)
);
-
CREATE TABLE messages_properties (
message_id INTEGER PRIMARY KEY NOT NULL,
reply_id smallint NOT NULL,
@@ -152,13 +123,11 @@ CREATE TABLE messages_properties (
UNIQUE (message_id, reply_id, property_key),
FOREIGN KEY (message_id) REFERENCES messages(message_id)
);
-
CREATE TABLE messages_tags (
message_id INTEGER NOT NULL,
tag_id bigint NOT NULL,
FOREIGN KEY (message_id) REFERENCES messages(message_id)
);
-
CREATE TABLE messages_txt (
message_id INTEGER NOT NULL,
repliesby text,
@@ -166,7 +135,6 @@ CREATE TABLE messages_txt (
updated_at timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
FOREIGN KEY (message_id) REFERENCES messages(message_id)
);
-
CREATE TABLE places (
place_id INTEGER PRIMARY KEY NOT NULL,
lat numeric(10,7) NOT NULL,
@@ -177,13 +145,11 @@ CREATE TABLE places (
user_id bigint NOT NULL,
ts timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL
);
-
CREATE TABLE places_tags (
place_id INTEGER NOT NULL,
tag_id bigint NOT NULL,
FOREIGN KEY (place_id) REFERENCES places(place_id)
);
-
CREATE TABLE pm (
user_id bigint NOT NULL,
user_id_to bigint NOT NULL,
@@ -192,18 +158,10 @@ CREATE TABLE pm (
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (user_id_to) REFERENCES users(id)
);
-
-CREATE TABLE pm_inroster (
- user_id bigint NOT NULL,
- jid character varying(64) NOT NULL,
- FOREIGN KEY (user_id) REFERENCES users(id)
-);
-
CREATE TABLE reactions (
like_id INTEGER PRIMARY KEY NOT NULL,
description character varying(100) NOT NULL
);
-
CREATE TABLE replies (
message_id bigint NOT NULL,
reply_id smallint NOT NULL,
@@ -219,7 +177,6 @@ CREATE TABLE replies (
FOREIGN KEY (message_id) REFERENCES messages(message_id),
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
CREATE TABLE subscr_messages (
message_id bigint NOT NULL,
suser_id bigint NOT NULL,
@@ -227,14 +184,12 @@ CREATE TABLE subscr_messages (
FOREIGN KEY (message_id) REFERENCES messages(message_id),
FOREIGN KEY (suser_id) REFERENCES users(id)
);
-
CREATE TABLE subscr_tags (
tag_id bigint NOT NULL,
suser_id bigint NOT NULL,
FOREIGN KEY (tag_id) REFERENCES tags(tag_id),
FOREIGN KEY (suser_id) REFERENCES users(id)
);
-
CREATE TABLE subscr_users (
user_id bigint NOT NULL,
suser_id bigint NOT NULL,
@@ -242,7 +197,6 @@ CREATE TABLE subscr_users (
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (suser_id) REFERENCES users(id)
);
-
CREATE TABLE tags (
tag_id INTEGER PRIMARY KEY NOT NULL,
synonym_id bigint,
@@ -253,17 +207,14 @@ CREATE TABLE tags (
stat_users smallint DEFAULT (0) NOT NULL,
FOREIGN KEY (synonym_id) REFERENCES tags(tag_id)
);
-
CREATE TABLE tags_ignore (
tag_id bigint NOT NULL,
FOREIGN KEY (tag_id) REFERENCES tags(tag_id)
);
-
CREATE TABLE tags_synonyms (
name character varying(64) NOT NULL,
changeto character varying(64) NOT NULL
);
-
CREATE TABLE telegram (
user_id bigint,
tg_id numeric NOT NULL,
@@ -272,22 +223,18 @@ CREATE TABLE telegram (
loginhash character varying(36),
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
CREATE TABLE top_ignore_messages (
message_id bigint NOT NULL,
FOREIGN KEY (message_id) REFERENCES messages(message_id)
);
-
CREATE TABLE top_ignore_tags (
tag_id NOT NULL,
FOREIGN KEY (tag_id) REFERENCES tag(tag_id)
);
-
CREATE TABLE top_ignore_users (
user_id bigint NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
CREATE TABLE twitter (
user_id INTEGER NOT NULL,
access_token character varying(64) NOT NULL,
@@ -297,22 +244,6 @@ CREATE TABLE twitter (
crosspost boolean DEFAULT true NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
-CREATE TABLE useroptions (
- user_id INTEGER NOT NULL,
- jnotify smallint DEFAULT 1 NOT NULL,
- subscr_active smallint DEFAULT 1 NOT NULL,
- off_ts timestamp with time zone,
- xmppxhtml smallint DEFAULT 0 NOT NULL,
- subscr_notify smallint DEFAULT 1 NOT NULL,
- recommendations smallint DEFAULT 1 NOT NULL,
- privacy_view smallint DEFAULT 1 NOT NULL,
- privacy_reply smallint DEFAULT 1 NOT NULL,
- privacy_pm smallint DEFAULT 1 NOT NULL,
- repliesview smallint DEFAULT 0 NOT NULL,
- FOREIGN KEY (user_id) REFERENCES users(id)
-);
-
CREATE TABLE users (
id bigint NOT NULL,
nick character varying(64) NOT NULL COLLATE NOCASE,
@@ -326,13 +257,11 @@ CREATE TABLE users (
last_seen timestamp with time zone,
PRIMARY KEY (id)
);
-
CREATE TABLE users_subscr (
user_id bigint NOT NULL,
cnt smallint DEFAULT (0) NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
CREATE TABLE usersinfo (
user_id bigint NOT NULL,
jid character varying(64),
@@ -344,11 +273,9 @@ CREATE TABLE usersinfo (
descr text,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
CREATE TABLE version (
version numeric NOT NULL
);
-
CREATE TABLE vk (
user_id bigint,
vk_id numeric NULL,
@@ -360,14 +287,6 @@ CREATE TABLE vk (
crosspost smallint DEFAULT (1) NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-
-CREATE TABLE winphone (
- user_id bigint NOT NULL,
- url character varying(255) NOT NULL,
- ts timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
- FOREIGN KEY (user_id) REFERENCES users(id)
-);
-
CREATE TABLE wl_users (
user_id bigint NOT NULL,
wl_user_id bigint NOT NULL,
@@ -375,3 +294,18 @@ CREATE TABLE wl_users (
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (wl_user_id) REFERENCES users(id)
);
+CREATE TABLE oauth2_registered_client (
+ id varchar(100) NOT NULL,
+ client_id varchar(100) NOT NULL,
+ client_id_issued_at timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL,
+ client_secret varchar(200) DEFAULT NULL,
+ client_secret_expires_at timestamp DEFAULT NULL,
+ client_name varchar(200) NOT NULL,
+ client_authentication_methods varchar(1000) NOT NULL,
+ authorization_grant_types varchar(1000) NOT NULL,
+ redirect_uris varchar(1000) DEFAULT NULL,
+ scopes varchar(1000) NOT NULL,
+ client_settings varchar(2000) NOT NULL,
+ token_settings varchar(2000) NOT NULL,
+ PRIMARY KEY (id)
+);
diff --git a/src/test/resources/db/specific/mariadb/V1.999__data.sql b/src/test/resources/data-mysql.sql
index a5db173a..a5db173a 100644
--- a/src/test/resources/db/specific/mariadb/V1.999__data.sql
+++ b/src/test/resources/data-mysql.sql
diff --git a/src/test/resources/db/specific/postgresql/V1.999__data.sql b/src/test/resources/data-postgresql.sql
index 673b24d2..673b24d2 100644
--- a/src/test/resources/db/specific/postgresql/V1.999__data.sql
+++ b/src/test/resources/data-postgresql.sql