aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources')
-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.sql1338
-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.sql755
-rw-r--r--src/main/resources/schema-sqlite.sql (renamed from src/main/resources/db/specific/sqlite/V1.22__schema.sql)100
20 files changed, 2162 insertions, 215 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/main/resources/db/migration/V1.22__schema.sql b/src/main/resources/db/migration/V1.22__schema.sql
new file mode 100644
index 00000000..aab050a6
--- /dev/null
+++ b/src/main/resources/db/migration/V1.22__schema.sql
@@ -0,0 +1,1338 @@
+--
+-- PostgreSQL database dump
+--
+
+-- Dumped from database version 15.1 (Debian 15.1-1.pgdg110+1)
+-- Dumped by pg_dump version 15.1 (Debian 15.1-1.pgdg110+1)
+
+SET statement_timeout = 0;
+SET lock_timeout = 0;
+SET idle_in_transaction_session_timeout = 0;
+SET client_encoding = 'UTF8';
+SET standard_conforming_strings = on;
+SELECT pg_catalog.set_config('search_path', 'public', false);
+SET check_function_bodies = false;
+SET xmloption = content;
+SET client_min_messages = warning;
+SET row_security = off;
+
+--
+-- Name: case_insensitive; Type: COLLATION; Schema: public; Owner: juick
+--
+
+CREATE COLLATION public.case_insensitive (provider = icu, deterministic = false, locale = 'und-u-ks-level2');
+
+
+ALTER COLLATION public.case_insensitive OWNER TO juick;
+
+--
+-- Name: pgcrypto; Type: EXTENSION; Schema: -; Owner: -
+--
+
+CREATE EXTENSION IF NOT EXISTS pgcrypto WITH SCHEMA public;
+
+
+--
+-- Name: EXTENSION pgcrypto; Type: COMMENT; Schema: -; Owner:
+--
+
+COMMENT ON EXTENSION pgcrypto IS 'cryptographic functions';
+
+
+--
+-- Name: auth_protocol; Type: TYPE; Schema: public; Owner: juick
+--
+
+CREATE TYPE public.auth_protocol AS ENUM (
+ 'xmpp',
+ 'email',
+ 'sms'
+);
+
+
+ALTER TYPE public.auth_protocol OWNER TO juick;
+
+--
+-- Name: messages_attach; Type: TYPE; Schema: public; Owner: juick
+--
+
+CREATE TYPE public.messages_attach AS ENUM (
+ 'jpg',
+ 'mp4',
+ 'png'
+);
+
+
+ALTER TYPE public.messages_attach OWNER TO juick;
+
+--
+-- Name: messages_lang; Type: TYPE; Schema: public; Owner: juick
+--
+
+CREATE TYPE public.messages_lang AS ENUM (
+ 'en',
+ 'ru',
+ 'fr',
+ 'fa',
+ '__'
+);
+
+
+ALTER TYPE public.messages_lang OWNER TO juick;
+
+--
+-- Name: users_lang; Type: TYPE; Schema: public; Owner: juick
+--
+
+CREATE TYPE public.users_lang AS ENUM (
+ 'en',
+ 'ru',
+ 'fr',
+ 'fa',
+ '__'
+);
+
+
+ALTER TYPE public.users_lang OWNER TO juick;
+
+--
+-- Name: CAST (character varying AS public.messages_attach); Type: CAST; Schema: -; Owner: -
+--
+
+CREATE CAST (character varying AS public.messages_attach) WITH INOUT AS ASSIGNMENT;
+
+
+SET default_tablespace = '';
+
+SET default_table_access_method = heap;
+
+--
+-- Name: android; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.android (
+ user_id bigint NOT NULL,
+ regid character varying(255) NOT NULL,
+ ts timestamp with time zone DEFAULT now() NOT NULL
+);
+
+
+ALTER TABLE public.android OWNER TO juick;
+
+--
+-- Name: auth; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.auth (
+ user_id bigint,
+ protocol public.auth_protocol NOT NULL,
+ account character varying(128) NOT NULL,
+ authcode character varying(8) NOT NULL,
+ ts timestamp(6) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL
+);
+
+
+ALTER TABLE public.auth OWNER TO juick;
+
+--
+-- Name: bl_tags; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.bl_tags (
+ user_id bigint NOT NULL,
+ tag_id bigint NOT NULL
+);
+
+
+ALTER TABLE public.bl_tags OWNER TO juick;
+
+--
+-- Name: bl_users; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.bl_users (
+ user_id bigint NOT NULL,
+ bl_user_id bigint NOT NULL,
+ ts timestamp with time zone DEFAULT now() NOT NULL
+);
+
+
+ALTER TABLE public.bl_users OWNER TO juick;
+
+--
+-- Name: emails; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.emails (
+ user_id bigint NOT NULL,
+ email character varying(128) NOT NULL,
+ subscr_hour smallint
+);
+
+
+ALTER TABLE public.emails OWNER TO juick;
+
+--
+-- Name: facebook; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.facebook (
+ user_id bigint,
+ fb_id numeric,
+ loginhash character varying(36),
+ access_token character varying(255),
+ ts timestamp with time zone DEFAULT now() NOT NULL,
+ fb_name character varying(64),
+ fb_link character varying(255) NOT NULL,
+ crosspost boolean DEFAULT true NOT NULL
+);
+
+
+ALTER TABLE public.facebook OWNER TO juick;
+
+--
+-- Name: favorites; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.favorites (
+ user_id bigint NOT NULL,
+ message_id bigint NOT NULL,
+ ts timestamp with time zone,
+ like_id smallint DEFAULT 1 NOT NULL,
+ user_uri character varying(255) NOT NULL DEFAULT ''::character varying
+);
+
+
+ALTER TABLE public.favorites OWNER TO juick;
+
+--
+-- Name: followers; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.followers (
+ user_id bigint,
+ ts timestamp with time zone DEFAULT now() NOT NULL,
+ acct character varying(64) NOT NULL
+);
+
+
+ALTER TABLE public.followers OWNER TO juick;
+
+--
+-- Name: images; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.images (
+ mid bigint NOT NULL,
+ rid bigint NOT NULL,
+ thumb bigint NOT NULL,
+ small bigint NOT NULL,
+ medium bigint NOT NULL,
+ height bigint NOT NULL,
+ width bigint NOT NULL
+);
+
+
+ALTER TABLE public.images OWNER TO juick;
+
+--
+-- Name: ios; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.ios (
+ user_id bigint NOT NULL,
+ token character varying(64) NOT NULL,
+ ts timestamp with time zone DEFAULT now() NOT NULL
+);
+
+
+ALTER TABLE public.ios OWNER TO juick;
+
+--
+-- Name: jids; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.jids (
+ user_id bigint,
+ jid character varying(64) NOT NULL,
+ active smallint DEFAULT 0 NOT NULL,
+ loginhash character varying(36),
+ ts timestamp with time zone DEFAULT now() NOT NULL
+);
+
+
+ALTER TABLE public.jids OWNER TO juick;
+
+--
+-- Name: logins; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.logins (
+ user_id bigint NOT NULL,
+ hash character varying(16) NOT NULL
+);
+
+
+ALTER TABLE public.logins OWNER TO juick;
+
+--
+-- Name: mail; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.mail (
+ user_id bigint NOT NULL,
+ hash character varying(16) NOT NULL,
+ ts timestamp(6) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL
+);
+
+
+ALTER TABLE public.mail OWNER TO juick;
+
+--
+-- Name: meon; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.meon (
+ id bigint NOT NULL,
+ user_id bigint NOT NULL,
+ link character varying(255) NOT NULL,
+ name character varying(32) NOT NULL,
+ ico smallint
+);
+
+
+ALTER TABLE public.meon OWNER TO juick;
+
+--
+-- Name: meon_id_seq; Type: SEQUENCE; Schema: public; Owner: juick
+--
+
+CREATE SEQUENCE public.meon_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE public.meon_id_seq OWNER TO juick;
+
+--
+-- Name: meon_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: juick
+--
+
+ALTER SEQUENCE public.meon_id_seq OWNED BY public.meon.id;
+
+
+--
+-- Name: messages; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.messages (
+ message_id bigint NOT NULL,
+ user_id bigint NOT NULL,
+ lang public.messages_lang DEFAULT '__'::public.messages_lang NOT NULL,
+ ts timestamp with time zone DEFAULT now() NOT NULL,
+ replies smallint DEFAULT (0)::smallint NOT NULL,
+ maxreplyid smallint DEFAULT (0)::smallint NOT NULL,
+ privacy smallint DEFAULT (1)::smallint NOT NULL,
+ readonly boolean DEFAULT false NOT NULL,
+ attach public.messages_attach,
+ place_id bigint,
+ lat numeric(10,7),
+ lon numeric(10,7),
+ popular smallint DEFAULT (0)::smallint NOT NULL,
+ hidden smallint DEFAULT (0)::smallint NOT NULL,
+ likes smallint DEFAULT (0)::smallint NOT NULL,
+ updated timestamp with time zone DEFAULT now() NOT NULL
+);
+
+
+ALTER TABLE public.messages OWNER TO juick;
+
+--
+-- Name: messages_access; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.messages_access (
+ message_id bigint NOT NULL,
+ user_id bigint NOT NULL
+);
+
+
+ALTER TABLE public.messages_access OWNER TO juick;
+
+--
+-- Name: messages_message_id_seq; Type: SEQUENCE; Schema: public; Owner: juick
+--
+
+CREATE SEQUENCE public.messages_message_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE public.messages_message_id_seq OWNER TO juick;
+
+--
+-- Name: messages_message_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: juick
+--
+
+ALTER SEQUENCE public.messages_message_id_seq OWNED BY public.messages.message_id;
+
+
+--
+-- Name: messages_properties; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.messages_properties (
+ message_id bigint NOT NULL,
+ reply_id smallint NOT NULL,
+ property_key character varying(255) NOT NULL,
+ property_value text NOT NULL
+);
+
+
+ALTER TABLE public.messages_properties OWNER TO juick;
+
+--
+-- Name: messages_tags; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.messages_tags (
+ message_id bigint NOT NULL,
+ tag_id bigint NOT NULL
+);
+
+
+ALTER TABLE public.messages_tags OWNER TO juick;
+
+--
+-- Name: messages_txt; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.messages_txt (
+ message_id bigint NOT NULL,
+ repliesby text,
+ txt text NOT NULL,
+ updated_at timestamp without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL
+);
+
+
+ALTER TABLE public.messages_txt OWNER TO juick;
+
+CREATE INDEX messages_idx ON messages_txt USING GIN (to_tsvector('russian', txt));
+
+--
+-- Name: places; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.places (
+ place_id bigint NOT NULL,
+ lat numeric(10,7) NOT NULL,
+ lon numeric(10,7) NOT NULL,
+ name character varying(64) NOT NULL,
+ descr character varying(255),
+ url character varying(128),
+ user_id bigint NOT NULL,
+ ts timestamp with time zone DEFAULT now() NOT NULL
+);
+
+
+ALTER TABLE public.places OWNER TO juick;
+
+--
+-- Name: places_place_id_seq; Type: SEQUENCE; Schema: public; Owner: juick
+--
+
+CREATE SEQUENCE public.places_place_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE public.places_place_id_seq OWNER TO juick;
+
+--
+-- Name: places_place_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: juick
+--
+
+ALTER SEQUENCE public.places_place_id_seq OWNED BY public.places.place_id;
+
+
+--
+-- Name: places_tags; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.places_tags (
+ place_id bigint NOT NULL,
+ tag_id bigint NOT NULL
+);
+
+
+ALTER TABLE public.places_tags OWNER TO juick;
+
+--
+-- Name: pm; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.pm (
+ user_id bigint NOT NULL,
+ user_id_to bigint NOT NULL,
+ ts timestamp with time zone DEFAULT now() NOT NULL,
+ txt text NOT NULL
+);
+
+
+ALTER TABLE public.pm OWNER TO juick;
+
+--
+-- Name: pm_inroster; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.pm_inroster (
+ user_id bigint NOT NULL,
+ jid character varying(64) NOT NULL
+);
+
+
+ALTER TABLE public.pm_inroster OWNER TO juick;
+
+--
+-- Name: reactions; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.reactions (
+ like_id smallint NOT NULL,
+ description character varying(100) NOT NULL
+);
+
+
+ALTER TABLE public.reactions OWNER TO juick;
+
+--
+-- Name: replies; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.replies (
+ message_id bigint NOT NULL,
+ reply_id smallint NOT NULL,
+ user_id bigint NOT NULL,
+ replyto smallint DEFAULT (0)::smallint NOT NULL,
+ ts timestamp with time zone DEFAULT now() NOT NULL,
+ attach public.messages_attach,
+ txt text NOT NULL,
+ updated_at timestamp without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
+ user_uri character varying(255) DEFAULT NULL::character varying,
+ reply_uri character varying(255) DEFAULT NULL::character varying,
+ html smallint DEFAULT '0'::smallint NOT NULL
+);
+
+
+ALTER TABLE public.replies OWNER TO juick;
+
+--
+-- Name: sphinx; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.sphinx (
+ counter_id smallint NOT NULL,
+ max_id bigint NOT NULL
+);
+
+
+ALTER TABLE public.sphinx OWNER TO juick;
+
+--
+-- Name: subscr_messages; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.subscr_messages (
+ message_id bigint NOT NULL,
+ suser_id bigint NOT NULL,
+ last_read_rid smallint DEFAULT 0 NOT NULL
+);
+
+
+ALTER TABLE public.subscr_messages OWNER TO juick;
+
+--
+-- Name: subscr_tags; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.subscr_tags (
+ tag_id bigint NOT NULL,
+ suser_id bigint NOT NULL
+);
+
+
+ALTER TABLE public.subscr_tags OWNER TO juick;
+
+--
+-- Name: subscr_users; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.subscr_users (
+ user_id bigint NOT NULL,
+ suser_id bigint NOT NULL,
+ ts timestamp with time zone DEFAULT now() NOT NULL
+);
+
+
+ALTER TABLE public.subscr_users OWNER TO juick;
+
+--
+-- Name: tags; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.tags (
+ tag_id bigint NOT NULL,
+ synonym_id bigint,
+ name character varying(70) COLLATE public.case_insensitive,
+ top boolean DEFAULT false NOT NULL,
+ noindex boolean DEFAULT false NOT NULL,
+ stat_messages bigint DEFAULT (0)::bigint NOT NULL,
+ stat_users smallint DEFAULT (0)::smallint NOT NULL
+);
+
+
+ALTER TABLE public.tags OWNER TO juick;
+
+--
+-- Name: tags_ignore; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.tags_ignore (
+ tag_id bigint NOT NULL
+);
+
+
+ALTER TABLE public.tags_ignore OWNER TO juick;
+
+--
+-- Name: tags_synonyms; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.tags_synonyms (
+ name character varying(64) NOT NULL,
+ changeto character varying(64) NOT NULL
+);
+
+
+ALTER TABLE public.tags_synonyms OWNER TO juick;
+
+--
+-- Name: tags_tag_id_seq; Type: SEQUENCE; Schema: public; Owner: juick
+--
+
+CREATE SEQUENCE public.tags_tag_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE public.tags_tag_id_seq OWNER TO juick;
+
+--
+-- Name: tags_tag_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: juick
+--
+
+ALTER SEQUENCE public.tags_tag_id_seq OWNED BY public.tags.tag_id;
+
+
+--
+-- Name: telegram; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.telegram (
+ user_id bigint,
+ tg_id numeric NOT NULL,
+ tg_name character varying(64) NOT NULL,
+ ts timestamp with time zone DEFAULT now() NOT NULL,
+ loginhash character varying(36)
+);
+
+
+ALTER TABLE public.telegram OWNER TO juick;
+
+--
+-- Name: top_ignore_messages; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.top_ignore_messages (
+ message_id bigint NOT NULL
+);
+
+
+ALTER TABLE public.top_ignore_messages OWNER TO juick;
+
+--
+-- Name: top_ignore_tags; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.top_ignore_tags (
+ tag_id bigint NOT NULL
+);
+
+
+ALTER TABLE public.top_ignore_tags OWNER TO juick;
+
+--
+-- Name: top_ignore_users; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.top_ignore_users (
+ user_id bigint NOT NULL
+);
+
+
+ALTER TABLE public.top_ignore_users OWNER TO juick;
+
+--
+-- Name: twitter; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.twitter (
+ user_id bigint NOT NULL,
+ access_token character varying(64) NOT NULL,
+ access_token_secret character varying(64) NOT NULL,
+ uname character varying(64) NOT NULL,
+ ts timestamp with time zone DEFAULT now() NOT NULL,
+ crosspost boolean DEFAULT true NOT NULL
+);
+
+
+ALTER TABLE public.twitter OWNER TO juick;
+
+--
+-- Name: useroptions; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.useroptions (
+ user_id bigint 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
+);
+
+
+ALTER TABLE public.useroptions OWNER TO juick;
+
+--
+-- Name: users; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.users (
+ id bigint NOT NULL,
+ nick character varying(64) NOT NULL,
+ passw character varying(32) NOT NULL,
+ lang public.users_lang DEFAULT '__'::public.users_lang NOT NULL,
+ banned smallint DEFAULT (0)::smallint NOT NULL,
+ lastmessage timestamp with time zone,
+ lastpm bigint DEFAULT (0)::bigint NOT NULL,
+ lastphoto bigint DEFAULT (0)::bigint NOT NULL,
+ karma smallint DEFAULT (0)::smallint NOT NULL,
+ last_seen timestamp with time zone
+);
+
+
+ALTER TABLE public.users OWNER TO juick;
+
+--
+-- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: juick
+--
+
+CREATE SEQUENCE public.users_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE public.users_id_seq OWNER TO juick;
+
+--
+-- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: juick
+--
+
+ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
+
+
+--
+-- Name: users_subscr; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.users_subscr (
+ user_id bigint NOT NULL,
+ cnt smallint DEFAULT (0)::smallint NOT NULL
+);
+
+
+ALTER TABLE public.users_subscr OWNER TO juick;
+
+--
+-- Name: usersinfo; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.usersinfo (
+ user_id bigint NOT NULL,
+ jid character varying(64),
+ fullname character varying(64),
+ country character varying(32),
+ url character varying(128),
+ gender character varying(32),
+ bday character varying(32),
+ descr text
+);
+
+
+ALTER TABLE public.usersinfo OWNER TO juick;
+
+--
+-- Name: version; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.version (
+ version numeric NOT NULL
+);
+
+
+ALTER TABLE public.version OWNER TO juick;
+
+--
+-- Name: vk; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.vk (
+ user_id bigint,
+ vk_id numeric NULL,
+ loginhash character varying(36),
+ access_token character varying(128) NOT NULL,
+ ts timestamp with time zone DEFAULT now() NOT NULL,
+ vk_name character varying(64) NOT NULL,
+ vk_link character varying(64) NOT NULL,
+ crosspost smallint DEFAULT (1)::smallint NOT NULL
+);
+
+
+ALTER TABLE public.vk OWNER TO juick;
+
+--
+-- Name: winphone; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.winphone (
+ user_id bigint NOT NULL,
+ url character varying(255) NOT NULL,
+ ts timestamp with time zone DEFAULT now() NOT NULL
+);
+
+
+ALTER TABLE public.winphone OWNER TO juick;
+
+--
+-- Name: wl_users; Type: TABLE; Schema: public; Owner: juick
+--
+
+CREATE TABLE public.wl_users (
+ user_id bigint NOT NULL,
+ wl_user_id bigint NOT NULL
+);
+
+
+ALTER TABLE public.wl_users OWNER TO juick;
+
+--
+-- Name: meon id; Type: DEFAULT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.meon ALTER COLUMN id SET DEFAULT nextval('public.meon_id_seq'::regclass);
+
+
+--
+-- Name: messages message_id; Type: DEFAULT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.messages ALTER COLUMN message_id SET DEFAULT nextval('public.messages_message_id_seq'::regclass);
+
+
+--
+-- Name: places place_id; Type: DEFAULT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.places ALTER COLUMN place_id SET DEFAULT nextval('public.places_place_id_seq'::regclass);
+
+
+--
+-- Name: tags tag_id; Type: DEFAULT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.tags ALTER COLUMN tag_id SET DEFAULT nextval('public.tags_tag_id_seq'::regclass);
+
+
+--
+-- Name: users id; Type: DEFAULT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
+
+
+--
+-- Name: images idx_20438_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.images
+ ADD CONSTRAINT idx_20438_primary PRIMARY KEY (mid, rid);
+
+
+--
+-- Name: mail idx_20453_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.mail
+ ADD CONSTRAINT idx_20453_primary PRIMARY KEY (user_id);
+
+
+--
+-- Name: meon idx_20458_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.meon
+ ADD CONSTRAINT idx_20458_primary PRIMARY KEY (id);
+
+
+--
+-- Name: messages idx_20483_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.messages
+ ADD CONSTRAINT idx_20483_primary PRIMARY KEY (message_id);
+
+
+--
+-- Name: messages_txt idx_20502_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.messages_txt
+ ADD CONSTRAINT idx_20502_primary PRIMARY KEY (message_id);
+
+
+--
+-- Name: places idx_20514_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.places
+ ADD CONSTRAINT idx_20514_primary PRIMARY KEY (place_id);
+
+
+--
+-- Name: sphinx idx_20571_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.sphinx
+ ADD CONSTRAINT idx_20571_primary PRIMARY KEY (counter_id);
+
+
+--
+-- Name: tags idx_20586_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.tags
+ ADD CONSTRAINT idx_20586_primary PRIMARY KEY (tag_id);
+
+
+--
+-- Name: top_ignore_tags idx_20616_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.top_ignore_tags
+ ADD CONSTRAINT idx_20616_primary PRIMARY KEY (tag_id);
+
+
+--
+-- Name: top_ignore_users idx_20619_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.top_ignore_users
+ ADD CONSTRAINT idx_20619_primary PRIMARY KEY (user_id);
+
+
+--
+-- Name: twitter idx_20622_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.twitter
+ ADD CONSTRAINT idx_20622_primary PRIMARY KEY (user_id);
+
+
+--
+-- Name: useroptions idx_20627_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.useroptions
+ ADD CONSTRAINT idx_20627_primary PRIMARY KEY (user_id);
+
+
+--
+-- Name: users idx_20653_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.users
+ ADD CONSTRAINT idx_20653_primary PRIMARY KEY (id);
+
+
+--
+-- Name: usersinfo idx_20663_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.usersinfo
+ ADD CONSTRAINT idx_20663_primary PRIMARY KEY (user_id);
+
+
+--
+-- Name: users_subscr idx_20672_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.users_subscr
+ ADD CONSTRAINT idx_20672_primary PRIMARY KEY (user_id);
+
+
+--
+-- Name: wl_users idx_20694_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.wl_users
+ ADD CONSTRAINT idx_20694_primary PRIMARY KEY (user_id, wl_user_id);
+
+
+--
+-- Name: bl_users idx_29418_primary; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.bl_users
+ ADD CONSTRAINT idx_29418_primary PRIMARY KEY (user_id, bl_user_id);
+
+
+--
+-- Name: messages_properties message_properties_key; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.messages_properties
+ ADD CONSTRAINT message_properties_key UNIQUE (message_id, reply_id, property_key);
+
+
+--
+-- Name: reactions reactions_pkey; Type: CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.reactions
+ ADD CONSTRAINT reactions_pkey PRIMARY KEY (like_id);
+
+
+--
+-- Name: idx_20390_regid; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE UNIQUE INDEX idx_20390_regid ON public.android USING btree (regid);
+
+
+--
+-- Name: idx_20390_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20390_user_id ON public.android USING btree (user_id);
+
+
+--
+-- Name: idx_20404_tag_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20404_tag_id ON public.bl_tags USING btree (tag_id);
+
+
+--
+-- Name: idx_20404_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20404_user_id ON public.bl_tags USING btree (user_id);
+
+
+--
+-- Name: idx_20418_email; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20418_email ON public.emails USING btree (email);
+
+
+--
+-- Name: idx_20421_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20421_user_id ON public.facebook USING btree (user_id);
+
+
+--
+-- Name: idx_20441_token; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE UNIQUE INDEX idx_20441_token ON public.ios USING btree (token);
+
+
+--
+-- Name: idx_20441_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20441_user_id ON public.ios USING btree (user_id);
+
+
+--
+-- Name: idx_20445_jid; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE UNIQUE INDEX idx_20445_jid ON public.jids USING btree (jid);
+
+
+--
+-- Name: idx_20445_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20445_user_id ON public.jids USING btree (user_id);
+
+
+--
+-- Name: idx_20450_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE UNIQUE INDEX idx_20450_user_id ON public.logins USING btree (user_id);
+
+
+--
+-- Name: idx_20483_attach; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20483_attach ON public.messages USING btree (attach);
+
+
+--
+-- Name: idx_20483_hidden; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20483_hidden ON public.messages USING btree (hidden);
+
+
+--
+-- Name: idx_20483_place_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20483_place_id ON public.messages USING btree (place_id);
+
+
+--
+-- Name: idx_20483_popular; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20483_popular ON public.messages USING btree (popular);
+
+
+--
+-- Name: idx_20483_ts; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20483_ts ON public.messages USING btree (ts);
+
+
+--
+-- Name: idx_20483_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20483_user_id ON public.messages USING btree (user_id);
+
+
+--
+-- Name: idx_20496_message_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20496_message_id ON public.messages_access USING btree (message_id);
+
+
+--
+-- Name: idx_20499_message_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20499_message_id ON public.messages_tags USING btree (message_id);
+
+
+--
+-- Name: idx_20499_message_id_2; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE UNIQUE INDEX idx_20499_message_id_2 ON public.messages_tags USING btree (message_id, tag_id);
+
+
+--
+-- Name: idx_20499_tag_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20499_tag_id ON public.messages_tags USING btree (tag_id);
+
+
+--
+-- Name: idx_20529_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20529_user_id ON public.pm_inroster USING btree (user_id);
+
+
+--
+-- Name: idx_20529_user_id_2; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE UNIQUE INDEX idx_20529_user_id_2 ON public.pm_inroster USING btree (user_id, jid);
+
+
+--
+-- Name: idx_20563_message_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20563_message_id ON public.replies USING btree (message_id);
+
+
+--
+-- Name: idx_20563_ts; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20563_ts ON public.replies USING btree (ts);
+
+
+--
+-- Name: idx_20563_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20563_user_id ON public.replies USING btree (user_id);
+
+
+--
+-- Name: idx_20574_message_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE UNIQUE INDEX idx_20574_message_id ON public.subscr_messages USING btree (message_id, suser_id);
+
+
+--
+-- Name: idx_20577_tag_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE UNIQUE INDEX idx_20577_tag_id ON public.subscr_tags USING btree (tag_id, suser_id);
+
+
+--
+-- Name: idx_20580_suser_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20580_suser_id ON public.subscr_users USING btree (suser_id);
+
+
+--
+-- Name: idx_20580_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE UNIQUE INDEX idx_20580_user_id ON public.subscr_users USING btree (user_id, suser_id);
+
+
+--
+-- Name: idx_20586_synonym_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20586_synonym_id ON public.tags USING btree (synonym_id);
+
+
+--
+-- Name: idx_20627_recommendations; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20627_recommendations ON public.useroptions USING btree (recommendations);
+
+
+--
+-- Name: idx_20653_nick; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE UNIQUE INDEX idx_20653_nick ON public.users USING btree (nick);
+
+
+--
+-- Name: idx_20682_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20682_user_id ON public.vk USING btree (user_id);
+
+
+--
+-- Name: idx_20690_url; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE UNIQUE INDEX idx_20690_url ON public.winphone USING btree (url);
+
+
+--
+-- Name: idx_20690_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_20690_user_id ON public.winphone USING btree (user_id);
+
+
+--
+-- Name: idx_29422_message_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_29422_message_id ON public.favorites USING btree (message_id);
+
+
+--
+-- Name: idx_29422_user_id; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX idx_29422_user_id ON public.favorites USING btree (user_id);
+
+
+--
+-- Name: reply_uri_index; Type: INDEX; Schema: public; Owner: juick
+--
+
+CREATE INDEX reply_uri_index ON public.replies USING btree (reply_uri);
+
+
+--
+-- Name: favorites favorites_like_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.favorites
+ ADD CONSTRAINT favorites_like_id_fkey FOREIGN KEY (like_id) REFERENCES public.reactions(like_id);
+
+
+--
+-- Name: followers followers_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: juick
+--
+
+ALTER TABLE ONLY public.followers
+ ADD CONSTRAINT followers_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
+
+
+--
+-- PostgreSQL database dump complete
+--
+
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/main/resources/schema-mysql.sql b/src/main/resources/schema-mysql.sql
new file mode 100644
index 00000000..5ffaba3c
--- /dev/null
+++ b/src/main/resources/schema-mysql.sql
@@ -0,0 +1,755 @@
+-- MariaDB dump 10.19 Distrib 10.5.18-MariaDB, for debian-linux-gnu (x86_64)
+--
+-- Host: localhost Database: juick
+-- ------------------------------------------------------
+-- 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 */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8mb4 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `auth`
+--
+
+DROP TABLE IF EXISTS `auth`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `auth` (
+ `user_id` int(10) unsigned DEFAULT NULL,
+ `protocol` enum('xmpp','email','sms') NOT NULL,
+ `account` char(128) NOT NULL,
+ `authcode` char(8) NOT NULL,
+ `ts` timestamp(6) NOT NULL DEFAULT current_timestamp(6)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `bl_tags`
+--
+
+DROP TABLE IF EXISTS `bl_tags`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `bl_tags` (
+ `user_id` int(10) unsigned NOT NULL,
+ `tag_id` int(10) unsigned NOT NULL,
+ KEY `tag_id` (`tag_id`),
+ KEY `user_id` (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `bl_users`
+--
+
+DROP TABLE IF EXISTS `bl_users`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `bl_users` (
+ `user_id` int(10) unsigned NOT NULL,
+ `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=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `emails`
+--
+
+DROP TABLE IF EXISTS `emails`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `emails` (
+ `user_id` int(10) unsigned NOT NULL,
+ `email` char(128) NOT NULL,
+ `subscr_hour` tinyint(4) DEFAULT NULL,
+ KEY `email` (`email`) USING HASH
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `facebook`
+--
+
+DROP TABLE IF EXISTS `facebook`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `facebook` (
+ `user_id` int(10) unsigned DEFAULT NULL,
+ `fb_id` bigint(20) unsigned DEFAULT NULL,
+ `loginhash` char(36) 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=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `favorites`
+--
+
+DROP TABLE IF EXISTS `favorites`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `favorites` (
+ `user_id` int(10) unsigned NOT NULL,
+ `message_id` int(10) unsigned NOT NULL,
+ `ts` datetime NOT NULL,
+ `like_id` int(10) unsigned NOT NULL DEFAULT 1,
+ `user_uri` char(255) NOT NULL DEFAULT '',
+ 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 */;
+
+--
+-- Table structure for table `followers`
+--
+
+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 NOT NULL DEFAULT 0,
+ `ts` timestamp NOT NULL DEFAULT current_timestamp(),
+ `acct` char(64) NOT NULL,
+ 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 */;
+
+--
+-- Table structure for table `images`
+--
+
+DROP TABLE IF EXISTS `images`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `images` (
+ `mid` int(10) unsigned NOT NULL,
+ `rid` int(10) unsigned NOT NULL,
+ `thumb` int(10) unsigned NOT NULL,
+ `small` int(10) unsigned NOT NULL,
+ `medium` int(10) unsigned NOT NULL,
+ `height` int(10) unsigned NOT NULL,
+ `width` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`mid`,`rid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `jids`
+--
+
+DROP TABLE IF EXISTS `jids`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `jids` (
+ `user_id` int(10) unsigned DEFAULT NULL,
+ `jid` char(64) NOT NULL,
+ `active` tinyint(1) NOT NULL DEFAULT 1,
+ `loginhash` char(36) DEFAULT NULL,
+ `ts` timestamp NOT NULL DEFAULT current_timestamp(),
+ UNIQUE KEY `jid` (`jid`),
+ KEY `user_id` (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `logins`
+--
+
+DROP TABLE IF EXISTS `logins`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `logins` (
+ `user_id` int(10) unsigned NOT NULL,
+ `hash` char(16) NOT NULL,
+ UNIQUE KEY `user_id` (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `meon`
+--
+
+DROP TABLE IF EXISTS `meon`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `meon` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `user_id` int(10) unsigned NOT NULL,
+ `link` char(255) NOT NULL,
+ `name` char(32) NOT NULL,
+ `ico` smallint(5) unsigned DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `messages`
+--
+
+DROP TABLE IF EXISTS `messages`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `messages` (
+ `message_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `user_id` int(10) unsigned NOT NULL,
+ `lang` enum('en','ru','fr','fa','__') NOT NULL DEFAULT '__',
+ `ts` timestamp(6) NOT NULL DEFAULT current_timestamp(6),
+ `replies` smallint(5) unsigned NOT NULL DEFAULT 0,
+ `maxreplyid` smallint(5) unsigned NOT NULL DEFAULT 0,
+ `privacy` tinyint(4) NOT NULL DEFAULT 1,
+ `readonly` tinyint(1) NOT NULL DEFAULT 0,
+ `attach` enum('jpg','mp4','png') DEFAULT NULL,
+ `place_id` int(10) unsigned DEFAULT NULL,
+ `lat` decimal(10,7) DEFAULT NULL,
+ `lon` decimal(10,7) DEFAULT NULL,
+ `popular` tinyint(4) NOT NULL DEFAULT 0,
+ `hidden` tinyint(3) unsigned NOT NULL DEFAULT 0,
+ `likes` smallint(6) NOT NULL DEFAULT 0,
+ `updated` timestamp(6) NOT NULL DEFAULT current_timestamp(6),
+ PRIMARY KEY (`message_id`),
+ KEY `user_id` (`user_id`),
+ KEY `ts` (`ts`),
+ KEY `attach` (`attach`),
+ KEY `place_id` (`place_id`),
+ KEY `popular` (`popular`),
+ KEY `hidden` (`hidden`),
+ KEY `updated_indx` (`updated`,`message_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `messages_access`
+--
+
+DROP TABLE IF EXISTS `messages_access`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `messages_access` (
+ `message_id` int(10) unsigned NOT NULL,
+ `user_id` int(10) unsigned NOT NULL,
+ KEY `message_id` (`message_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `messages_properties`
+--
+
+DROP TABLE IF EXISTS `messages_properties`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+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`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `messages_tags`
+--
+
+DROP TABLE IF EXISTS `messages_tags`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `messages_tags` (
+ `message_id` int(10) unsigned NOT NULL,
+ `tag_id` int(10) unsigned NOT NULL,
+ UNIQUE KEY `message_id_2` (`message_id`,`tag_id`),
+ KEY `message_id` (`message_id`),
+ KEY `tag_id` (`tag_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `messages_txt`
+--
+
+DROP TABLE IF EXISTS `messages_txt`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `messages_txt` (
+ `message_id` int(10) unsigned 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;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `messenger`
+--
+
+DROP TABLE IF EXISTS `messenger`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `messenger` (
+ `user_id` int(10) unsigned DEFAULT NULL,
+ `sender_id` bigint(20) NOT NULL,
+ `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 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 */;
+
+--
+-- Table structure for table `places`
+--
+
+DROP TABLE IF EXISTS `places`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `places` (
+ `place_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `lat` decimal(10,7) NOT NULL,
+ `lon` decimal(10,7) NOT NULL,
+ `name` char(64) NOT NULL,
+ `descr` char(255) DEFAULT NULL,
+ `url` char(128) DEFAULT NULL,
+ `user_id` int(10) unsigned NOT NULL,
+ `ts` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
+ PRIMARY KEY (`place_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `places_tags`
+--
+
+DROP TABLE IF EXISTS `places_tags`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `places_tags` (
+ `place_id` int(10) unsigned NOT NULL,
+ `tag_id` int(10) unsigned NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `pm`
+--
+
+DROP TABLE IF EXISTS `pm`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+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 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 */;
+
+--
+-- Table structure for table `reactions`
+--
+
+DROP TABLE IF EXISTS `reactions`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `reactions` (
+ `like_id` int(10) unsigned NOT NULL,
+ `description` varchar(100) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `replies`
+--
+
+DROP TABLE IF EXISTS `replies`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `replies` (
+ `message_id` int(10) unsigned NOT NULL,
+ `reply_id` smallint(5) unsigned NOT NULL,
+ `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') DEFAULT NULL,
+ `txt` mediumtext NOT NULL,
+ `updated_at` timestamp(6) NOT NULL DEFAULT current_timestamp(6),
+ `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`),
+ KEY `uid` (`user_id`),
+ KEY `reply_indx` (`message_id`,`reply_id`),
+ KEY `reply_uri_index` (`reply_uri`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!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`
+--
+
+DROP TABLE IF EXISTS `subscr_messages`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `subscr_messages` (
+ `message_id` int(10) unsigned NOT NULL,
+ `suser_id` int(10) unsigned NOT NULL,
+ `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`),
+ KEY `s_indx` (`suser_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `subscr_tags`
+--
+
+DROP TABLE IF EXISTS `subscr_tags`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+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=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `subscr_users`
+--
+
+DROP TABLE IF EXISTS `subscr_users`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `subscr_users` (
+ `user_id` int(10) unsigned NOT NULL,
+ `suser_id` int(10) unsigned NOT NULL,
+ `ts` timestamp NOT NULL DEFAULT current_timestamp(),
+ UNIQUE KEY `user_id` (`user_id`,`suser_id`),
+ KEY `suser_id` (`suser_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `tags`
+--
+
+DROP TABLE IF EXISTS `tags`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+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 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=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `tags_ignore`
+--
+
+DROP TABLE IF EXISTS `tags_ignore`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `tags_ignore` (
+ `tag_id` int(10) unsigned NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `tags_synonyms`
+--
+
+DROP TABLE IF EXISTS `tags_synonyms`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `tags_synonyms` (
+ `name` char(64) NOT NULL,
+ `changeto` char(64) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `telegram`
+--
+
+DROP TABLE IF EXISTS `telegram`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `telegram` (
+ `user_id` int(10) unsigned DEFAULT NULL,
+ `tg_id` bigint(20) NOT NULL,
+ `tg_name` char(64) NOT NULL,
+ `ts` timestamp NOT NULL DEFAULT current_timestamp(),
+ `loginhash` char(36) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `top_ignore_messages`
+--
+
+DROP TABLE IF EXISTS `top_ignore_messages`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `top_ignore_messages` (
+ `message_id` int(10) unsigned NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `top_ignore_tags`
+--
+
+DROP TABLE IF EXISTS `top_ignore_tags`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `top_ignore_tags` (
+ `tag_id` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`tag_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `top_ignore_users`
+--
+
+DROP TABLE IF EXISTS `top_ignore_users`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `top_ignore_users` (
+ `user_id` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `twitter`
+--
+
+DROP TABLE IF EXISTS `twitter`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `twitter` (
+ `user_id` int(10) unsigned 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=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `user_services`
+--
+
+DROP TABLE IF EXISTS `user_services`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `user_services` (
+ `user_id` int(10) unsigned NOT NULL,
+ `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 */;
+
+--
+-- Table structure for table `users`
+--
+
+DROP TABLE IF EXISTS `users`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `users` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `nick` char(64) NOT NULL,
+ `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) 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 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `users_subscr`
+--
+
+DROP TABLE IF EXISTS `users_subscr`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `users_subscr` (
+ `user_id` int(10) unsigned NOT NULL,
+ `cnt` smallint(5) unsigned NOT NULL DEFAULT 0,
+ PRIMARY KEY (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `usersinfo`
+--
+
+DROP TABLE IF EXISTS `usersinfo`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `usersinfo` (
+ `user_id` int(10) unsigned NOT NULL,
+ `jid2` char(32) DEFAULT NULL,
+ `fullname` char(32) DEFAULT NULL,
+ `country` char(32) DEFAULT NULL,
+ `url` char(64) DEFAULT NULL,
+ `gender` char(32) DEFAULT NULL,
+ `bday` char(10) DEFAULT NULL,
+ `descr` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `version`
+--
+
+DROP TABLE IF EXISTS `version`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `version` (
+ `version` bigint(20) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `vk`
+--
+
+DROP TABLE IF EXISTS `vk`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `vk` (
+ `user_id` int(10) unsigned DEFAULT NULL,
+ `vk_id` bigint(20) unsigned DEFAULT NULL,
+ `loginhash` char(36) 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=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Table structure for table `wl_users`
+--
+
+DROP TABLE IF EXISTS `wl_users`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+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=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- 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)
+);