crossposter
Este commit está contenido en:
53
testing/crossposter/.env.production
Archivo normal
53
testing/crossposter/.env.production
Archivo normal
@@ -0,0 +1,53 @@
|
|||||||
|
LIBRATO_EMAIL=
|
||||||
|
LIBRATO_TOKEN=
|
||||||
|
TWITTER_CLIENT_ID=sqY1bQ3ItgbsLAK1rWpgEOwgy
|
||||||
|
TWITTER_CLIENT_SECRET=KZjP7ckeUIejNWNZFvAGSJXesCtibd0WDR5IzXtuXgyznSN78Q
|
||||||
|
SECRET_KEY_BASE=00fec1e38c7acc75aac44e9d4c2229fe1ec94144c86c372fd51a85de742e2016d82521fc0b99a38a770ec72a3c345e76745828b83fb650a1436278bb4a787421
|
||||||
|
|
||||||
|
RAILS_ENV=production
|
||||||
|
RACK_ENV=production
|
||||||
|
|
||||||
|
# The name that's going to be displayed in the page, but also in the bottom of toots as the app name (optional)
|
||||||
|
CROSSPOSTER_APP_NAME=Mastodon Twitter Crossposter
|
||||||
|
# The domain where the app can be accessed
|
||||||
|
CROSSPOSTER_DOMAIN=https://crossposter.hatthieves.es
|
||||||
|
# The repo, if it's a fork (optional)
|
||||||
|
CROSSPOSTER_REPO=https://github.com/repo-to/crossposter
|
||||||
|
# The stats page, if exists (optional)
|
||||||
|
CROSSPOSTER_STATS=https://grafana.hatthieves.es
|
||||||
|
|
||||||
|
# The fediverse account where announcements about this instance of the crossposter can be found
|
||||||
|
CROSSPOSTER_FEDI_ACCOUNT_ADDRESS=https://mastodon.madrid/@hatthieves
|
||||||
|
CROSSPOSTER_FEDI_ACCOUNT_AT=hatthieves@mastodon.madrid
|
||||||
|
|
||||||
|
# Twitter account of the admin of this instance, if exists (optional)
|
||||||
|
CROSSPOSTER_ADMIN_TWITTER=hatthieves
|
||||||
|
|
||||||
|
# Fediverse account that users can use to reach the admin in case of issues
|
||||||
|
CROSSPOSTER_ADMIN_FEDI_ADDRESS=https://mastodon.madrid/@hatthieves
|
||||||
|
CROSSPOSTER_ADMIN_FEDI_AT=hatthieves@mastodon.madrid
|
||||||
|
|
||||||
|
# If you are using statsd to save metrics, you need the three following variables
|
||||||
|
STATSD_ENABLED=false
|
||||||
|
STATSD_HOST=127.0.0.1
|
||||||
|
STATSD_PORT=8125
|
||||||
|
|
||||||
|
# You should only enable one of the following lines at a time
|
||||||
|
ALLOWED_DOMAIN=mastodon.madrid
|
||||||
|
BLOCKED_DOMAINS=gab.com
|
||||||
|
|
||||||
|
# You can use twitter.activitypub.actor (or your own installation of it) to get nice mentions of twitter's people
|
||||||
|
# If you enable this, instead of @user@twitter.com, the user will be @user@<ALTERNATIVE_TWITTER_DOMAIN>
|
||||||
|
USE_ALTERNATIVE_TWITTER_DOMAIN=false
|
||||||
|
ALTERNATIVE_TWITTER_DOMAIN=twitter.activitypub.actor
|
||||||
|
|
||||||
|
DATABASE_URL=postgres://postgres:cr0ssp0st3r.@postgres-crossposter/crossposter
|
||||||
|
DB_NAME=crossposter
|
||||||
|
DB_USER=postgres
|
||||||
|
DB_PASS=cr0ssp0st3r.
|
||||||
|
REDIS_URL=redis://redis-crossposter:6379/1
|
||||||
|
|
||||||
|
RAILS_LOG_TO_STDOUT=enabled
|
||||||
|
RAILS_MAX_THREADS=5
|
||||||
|
PORT=3000
|
||||||
|
|
||||||
12
testing/crossposter/crossposter/Dockerfile
Archivo normal
12
testing/crossposter/crossposter/Dockerfile
Archivo normal
@@ -0,0 +1,12 @@
|
|||||||
|
FROM ruby:2.6
|
||||||
|
ENV RAILS_ENV production
|
||||||
|
ENV RACK_ENV production
|
||||||
|
RUN curl -sL "https://deb.nodesource.com/setup_8.x" | bash -
|
||||||
|
RUN apt update && apt -y upgrade && apt install -y --allow-downgrades nodejs=8.17.0-1nodesource1 git libidn11-dev libmagic-dev && apt clean
|
||||||
|
RUN npm i yarn -g
|
||||||
|
RUN git clone --depth=1 https://github.com/renatolond/mastodon-twitter-poster /crossposter
|
||||||
|
WORKDIR /crossposter
|
||||||
|
RUN gem update --system
|
||||||
|
RUN bin/bundle update --all
|
||||||
|
RUN bin/bundle install --deployment --without development test
|
||||||
|
RUN bin/yarn
|
||||||
4
testing/crossposter/crossposter/entrypoint.sh
Archivo normal
4
testing/crossposter/crossposter/entrypoint.sh
Archivo normal
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
bin/bundle exec rake assets:precompile
|
||||||
|
bin/bundle exec sidekiq -c 5 -q default &
|
||||||
|
bin/bundle exec puma -C config/puma.rb
|
||||||
76
testing/crossposter/docker-compose.yml
Archivo normal
76
testing/crossposter/docker-compose.yml
Archivo normal
@@ -0,0 +1,76 @@
|
|||||||
|
version: '2'
|
||||||
|
|
||||||
|
services:
|
||||||
|
crossposter:
|
||||||
|
image: halkeye/mastodon-twitter-poster
|
||||||
|
# build: ./crossposter
|
||||||
|
hostname: crossposter
|
||||||
|
container_name: crossposter
|
||||||
|
restart: always
|
||||||
|
env_file: .env.production
|
||||||
|
entrypoint:
|
||||||
|
- /bin/sh
|
||||||
|
- /entrypoint.sh
|
||||||
|
volumes:
|
||||||
|
- ./crossposter/entrypoint.sh:/entrypoint.sh
|
||||||
|
expose:
|
||||||
|
- 3000
|
||||||
|
networks:
|
||||||
|
mynet:
|
||||||
|
ipv4_address: 172.7.0.101
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres
|
||||||
|
hostname: postgres-crossposter
|
||||||
|
container_name: postgres-crossposter
|
||||||
|
restart: always
|
||||||
|
shm_size: '1gb'
|
||||||
|
command: >
|
||||||
|
-c 'max_connections=150'
|
||||||
|
-c 'shared_buffers=512MB'
|
||||||
|
-c 'effective_cache_size=1536MB'
|
||||||
|
-c 'maintenance_work_mem=128MB'
|
||||||
|
-c 'checkpoint_completion_target=0.7'
|
||||||
|
-c 'wal_buffers=16MB'
|
||||||
|
-c 'default_statistics_target=100'
|
||||||
|
-c 'random_page_cost=1.1'
|
||||||
|
-c 'effective_io_concurrency=200'
|
||||||
|
-c 'work_mem=1747kB'
|
||||||
|
-c 'min_wal_size=1GB'
|
||||||
|
-c 'max_wal_size=2GB'
|
||||||
|
-c 'max_worker_processes=4'
|
||||||
|
-c 'max_parallel_workers_per_gather=2'
|
||||||
|
-c 'max_parallel_workers=4'
|
||||||
|
-c 'autovacuum_max_workers=1'
|
||||||
|
-c 'autovacuum_work_mem=128MB'
|
||||||
|
-h '*'
|
||||||
|
# -c 'statement_timeout=60000'
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=postgres
|
||||||
|
- POSTGRES_DB=crossposter
|
||||||
|
- POSTGRES_PASSWORD=cr0ssp0st3r.
|
||||||
|
volumes:
|
||||||
|
- ./data:/var/lib/postgresql/data
|
||||||
|
expose:
|
||||||
|
- 5432
|
||||||
|
networks:
|
||||||
|
mynet:
|
||||||
|
ipv4_address: 172.7.0.102
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
hostname: redis-crossposter
|
||||||
|
container_name: redis-crossposter
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
networks:
|
||||||
|
mynet:
|
||||||
|
ipv4_address: 172.7.0.103
|
||||||
|
|
||||||
|
networks:
|
||||||
|
mynet:
|
||||||
|
driver: bridge
|
||||||
|
ipam:
|
||||||
|
config:
|
||||||
|
- subnet: 172.7.0.0/24
|
||||||
463
testing/crossposter/structure.sql
Archivo normal
463
testing/crossposter/structure.sql
Archivo normal
@@ -0,0 +1,463 @@
|
|||||||
|
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', '', false);
|
||||||
|
SET check_function_bodies = false;
|
||||||
|
SET client_min_messages = warning;
|
||||||
|
SET row_security = off;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: block_or_allow; Type: TYPE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TYPE public.block_or_allow AS ENUM (
|
||||||
|
'BLOCK_WITH_WORDS',
|
||||||
|
'ALLOW_WITH_WORDS'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: boost_options; Type: TYPE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TYPE public.boost_options AS ENUM (
|
||||||
|
'MASTO_BOOST_DO_NOT_POST',
|
||||||
|
'MASTO_BOOST_POST_AS_LINK'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: masto_mention_options; Type: TYPE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TYPE public.masto_mention_options AS ENUM (
|
||||||
|
'MASTO_MENTION_DO_NOT_POST'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: masto_reply_options; Type: TYPE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TYPE public.masto_reply_options AS ENUM (
|
||||||
|
'MASTO_REPLY_DO_NOT_POST',
|
||||||
|
'MASTO_REPLY_POST_SELF'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: masto_visibility; Type: TYPE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TYPE public.masto_visibility AS ENUM (
|
||||||
|
'MASTO_PUBLIC',
|
||||||
|
'MASTO_UNLISTED',
|
||||||
|
'MASTO_PRIVATE'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: quote_options; Type: TYPE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TYPE public.quote_options AS ENUM (
|
||||||
|
'QUOTE_DO_NOT_POST',
|
||||||
|
'QUOTE_POST_AS_LINK',
|
||||||
|
'QUOTE_POST_AS_OLD_RT',
|
||||||
|
'QUOTE_POST_AS_OLD_RT_WITH_LINK'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: retweet_options; Type: TYPE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TYPE public.retweet_options AS ENUM (
|
||||||
|
'RETWEET_DO_NOT_POST',
|
||||||
|
'RETWEET_POST_AS_LINK',
|
||||||
|
'RETWEET_POST_AS_OLD_RT',
|
||||||
|
'RETWEET_POST_AS_OLD_RT_WITH_LINK'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: twitter_reply_options; Type: TYPE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TYPE public.twitter_reply_options AS ENUM (
|
||||||
|
'TWITTER_REPLY_DO_NOT_POST',
|
||||||
|
'TWITTER_REPLY_POST_SELF'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
SET default_tablespace = '';
|
||||||
|
|
||||||
|
SET default_with_oids = false;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE public.ar_internal_metadata (
|
||||||
|
key character varying NOT NULL,
|
||||||
|
value character varying,
|
||||||
|
created_at timestamp without time zone NOT NULL,
|
||||||
|
updated_at timestamp without time zone NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: authorizations; Type: TABLE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE public.authorizations (
|
||||||
|
id bigint NOT NULL,
|
||||||
|
provider character varying,
|
||||||
|
uid character varying,
|
||||||
|
user_id integer,
|
||||||
|
token character varying,
|
||||||
|
secret character varying,
|
||||||
|
created_at timestamp without time zone NOT NULL,
|
||||||
|
updated_at timestamp without time zone NOT NULL,
|
||||||
|
mastodon_client_id bigint
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: authorizations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.authorizations_id_seq
|
||||||
|
START WITH 1
|
||||||
|
INCREMENT BY 1
|
||||||
|
NO MINVALUE
|
||||||
|
NO MAXVALUE
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: authorizations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.authorizations_id_seq OWNED BY public.authorizations.id;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: mastodon_clients; Type: TABLE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE public.mastodon_clients (
|
||||||
|
id integer NOT NULL,
|
||||||
|
domain character varying,
|
||||||
|
client_id character varying,
|
||||||
|
client_secret character varying,
|
||||||
|
created_at timestamp without time zone NOT NULL,
|
||||||
|
updated_at timestamp without time zone NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: mastodon_clients_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.mastodon_clients_id_seq
|
||||||
|
START WITH 1
|
||||||
|
INCREMENT BY 1
|
||||||
|
NO MINVALUE
|
||||||
|
NO MAXVALUE
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: mastodon_clients_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.mastodon_clients_id_seq OWNED BY public.mastodon_clients.id;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE public.schema_migrations (
|
||||||
|
version character varying NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: statuses; Type: TABLE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE public.statuses (
|
||||||
|
id bigint NOT NULL,
|
||||||
|
mastodon_client_id bigint NOT NULL,
|
||||||
|
masto_id character varying NOT NULL,
|
||||||
|
tweet_id bigint NOT NULL,
|
||||||
|
created_at timestamp without time zone NOT NULL,
|
||||||
|
updated_at timestamp without time zone NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: statuses_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.statuses_id_seq
|
||||||
|
START WITH 1
|
||||||
|
INCREMENT BY 1
|
||||||
|
NO MINVALUE
|
||||||
|
NO MAXVALUE
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: statuses_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.statuses_id_seq OWNED BY public.statuses.id;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: users; Type: TABLE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE public.users (
|
||||||
|
id bigint NOT NULL,
|
||||||
|
created_at timestamp without time zone NOT NULL,
|
||||||
|
updated_at timestamp without time zone NOT NULL,
|
||||||
|
last_toot character varying,
|
||||||
|
last_tweet bigint,
|
||||||
|
twitter_last_check timestamp without time zone DEFAULT now(),
|
||||||
|
mastodon_last_check timestamp without time zone DEFAULT now(),
|
||||||
|
boost_options public.boost_options DEFAULT 'MASTO_BOOST_DO_NOT_POST'::public.boost_options,
|
||||||
|
masto_reply_options public.masto_reply_options DEFAULT 'MASTO_REPLY_POST_SELF'::public.masto_reply_options,
|
||||||
|
masto_mention_options public.masto_mention_options DEFAULT 'MASTO_MENTION_DO_NOT_POST'::public.masto_mention_options,
|
||||||
|
masto_should_post_private boolean DEFAULT false,
|
||||||
|
masto_should_post_unlisted boolean DEFAULT false,
|
||||||
|
posting_from_mastodon boolean DEFAULT false,
|
||||||
|
posting_from_twitter boolean DEFAULT false,
|
||||||
|
masto_fix_cross_mention boolean DEFAULT false,
|
||||||
|
retweet_options public.retweet_options DEFAULT 'RETWEET_POST_AS_OLD_RT_WITH_LINK'::public.retweet_options,
|
||||||
|
quote_options public.quote_options DEFAULT 'QUOTE_POST_AS_OLD_RT_WITH_LINK'::public.quote_options,
|
||||||
|
twitter_reply_options public.twitter_reply_options DEFAULT 'TWITTER_REPLY_POST_SELF'::public.twitter_reply_options,
|
||||||
|
twitter_content_warning character varying,
|
||||||
|
locked boolean DEFAULT false NOT NULL,
|
||||||
|
twitter_original_visibility public.masto_visibility,
|
||||||
|
twitter_retweet_visibility public.masto_visibility DEFAULT 'MASTO_UNLISTED'::public.masto_visibility,
|
||||||
|
twitter_quote_visibility public.masto_visibility DEFAULT 'MASTO_UNLISTED'::public.masto_visibility,
|
||||||
|
twitter_word_list character varying[] DEFAULT '{}'::character varying[],
|
||||||
|
twitter_block_or_allow_list public.block_or_allow,
|
||||||
|
masto_word_list character varying[] DEFAULT '{}'::character varying[],
|
||||||
|
masto_block_or_allow_list public.block_or_allow,
|
||||||
|
admin boolean DEFAULT false NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE SEQUENCE public.users_id_seq
|
||||||
|
START WITH 1
|
||||||
|
INCREMENT BY 1
|
||||||
|
NO MINVALUE
|
||||||
|
NO MAXVALUE
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: authorizations id; Type: DEFAULT; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.authorizations ALTER COLUMN id SET DEFAULT nextval('public.authorizations_id_seq'::regclass);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: mastodon_clients id; Type: DEFAULT; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.mastodon_clients ALTER COLUMN id SET DEFAULT nextval('public.mastodon_clients_id_seq'::regclass);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: statuses id; Type: DEFAULT; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.statuses ALTER COLUMN id SET DEFAULT nextval('public.statuses_id_seq'::regclass);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: users id; Type: DEFAULT; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: ar_internal_metadata ar_internal_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.ar_internal_metadata
|
||||||
|
ADD CONSTRAINT ar_internal_metadata_pkey PRIMARY KEY (key);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: authorizations authorizations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.authorizations
|
||||||
|
ADD CONSTRAINT authorizations_pkey PRIMARY KEY (id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: mastodon_clients mastodon_clients_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.mastodon_clients
|
||||||
|
ADD CONSTRAINT mastodon_clients_pkey PRIMARY KEY (id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: schema_migrations schema_migrations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.schema_migrations
|
||||||
|
ADD CONSTRAINT schema_migrations_pkey PRIMARY KEY (version);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: statuses statuses_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.statuses
|
||||||
|
ADD CONSTRAINT statuses_pkey PRIMARY KEY (id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.users
|
||||||
|
ADD CONSTRAINT users_pkey PRIMARY KEY (id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: index_authorizations_on_mastodon_client_id; Type: INDEX; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE INDEX index_authorizations_on_mastodon_client_id ON public.authorizations USING btree (mastodon_client_id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: index_authorizations_on_provider_and_uid; Type: INDEX; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE UNIQUE INDEX index_authorizations_on_provider_and_uid ON public.authorizations USING btree (provider, uid);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: index_mastodon_clients_on_domain; Type: INDEX; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE UNIQUE INDEX index_mastodon_clients_on_domain ON public.mastodon_clients USING btree (domain);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: index_statuses_on_mastodon_client_id; Type: INDEX; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE INDEX index_statuses_on_mastodon_client_id ON public.statuses USING btree (mastodon_client_id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: index_statuses_on_mastodon_client_id_and_masto_id; Type: INDEX; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE UNIQUE INDEX index_statuses_on_mastodon_client_id_and_masto_id ON public.statuses USING btree (mastodon_client_id, masto_id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: index_statuses_on_tweet_id; Type: INDEX; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE UNIQUE INDEX index_statuses_on_tweet_id ON public.statuses USING btree (tweet_id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: statuses fk_rails_68a10127d4; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.statuses
|
||||||
|
ADD CONSTRAINT fk_rails_68a10127d4 FOREIGN KEY (mastodon_client_id) REFERENCES public.mastodon_clients(id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Name: authorizations fk_rails_7cfd93d6c7; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||||
|
--
|
||||||
|
|
||||||
|
ALTER TABLE ONLY public.authorizations
|
||||||
|
ADD CONSTRAINT fk_rails_7cfd93d6c7 FOREIGN KEY (mastodon_client_id) REFERENCES public.mastodon_clients(id);
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- PostgreSQL database dump complete
|
||||||
|
--
|
||||||
|
|
||||||
|
SET search_path TO "$user", public;
|
||||||
|
|
||||||
|
INSERT INTO "schema_migrations" (version) VALUES
|
||||||
|
('20170808112347'),
|
||||||
|
('20170808113938'),
|
||||||
|
('20170808114609'),
|
||||||
|
('20170809135336'),
|
||||||
|
('20170809151828'),
|
||||||
|
('20170810091710'),
|
||||||
|
('20170810094031'),
|
||||||
|
('20170810103418'),
|
||||||
|
('20170810105204'),
|
||||||
|
('20170810105214'),
|
||||||
|
('20170812195419'),
|
||||||
|
('20170817073406'),
|
||||||
|
('20171012093059'),
|
||||||
|
('20171025115156'),
|
||||||
|
('20171025125328'),
|
||||||
|
('20171102154204'),
|
||||||
|
('20171103102943'),
|
||||||
|
('20171103132222'),
|
||||||
|
('20171123155339'),
|
||||||
|
('20171123191320'),
|
||||||
|
('20180103212954'),
|
||||||
|
('20180304150232'),
|
||||||
|
('20180412164151'),
|
||||||
|
('20180503105007'),
|
||||||
|
('20180503110516'),
|
||||||
|
('20180701100749'),
|
||||||
|
('20180821172252'),
|
||||||
|
('20190131082017'),
|
||||||
|
('20190202145018'),
|
||||||
|
('20190226132236');
|
||||||
|
|
||||||
|
|
||||||
Referencia en una nueva incidencia
Block a user