diff options
author | Vitaly Takmazov | 2023-01-27 17:50:14 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2023-01-27 19:05:25 +0300 |
commit | 2db415ce42fb96059b6d7fce4cf4ce078a62680e (patch) | |
tree | 06d21a8483e437ad4d62f337b70e7e93dba18cc6 /src/main | |
parent | b3a169844b43d64aba4c1f7c583073b5dc54cf49 (diff) |
baseline non-production databases to 1.36
Diffstat (limited to 'src/main')
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) +); |