mirror of
https://github.com/zhigang1992/tsemple.git
synced 2026-01-12 22:53:00 +08:00
582 lines
13 KiB
SQL
582 lines
13 KiB
SQL
--
|
|
-- PostgreSQL database dump
|
|
--
|
|
|
|
SET statement_timeout = 0;
|
|
SET client_encoding = 'UTF8';
|
|
SET standard_conforming_strings = on;
|
|
SET check_function_bodies = false;
|
|
SET client_min_messages = warning;
|
|
|
|
--
|
|
-- 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';
|
|
|
|
|
|
SET search_path = public, pg_catalog;
|
|
|
|
SET default_tablespace = '';
|
|
|
|
SET default_with_oids = false;
|
|
|
|
--
|
|
-- Name: attachments; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE TABLE attachments (
|
|
id integer NOT NULL,
|
|
user_id integer,
|
|
file character varying(255),
|
|
created_at timestamp without time zone,
|
|
updated_at timestamp without time zone
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: attachments_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE attachments_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: attachments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE attachments_id_seq OWNED BY attachments.id;
|
|
|
|
|
|
--
|
|
-- Name: categories; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE TABLE categories (
|
|
id integer NOT NULL,
|
|
name character varying(255),
|
|
slug character varying(255),
|
|
description text,
|
|
topics_count integer DEFAULT 0,
|
|
created_at timestamp without time zone,
|
|
updated_at timestamp without time zone
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: categories_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE categories_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: categories_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE categories_id_seq OWNED BY categories.id;
|
|
|
|
|
|
--
|
|
-- Name: comments; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE TABLE comments (
|
|
id integer NOT NULL,
|
|
user_id integer,
|
|
commentable_id integer,
|
|
commentable_type character varying(255),
|
|
body text,
|
|
likes_count integer DEFAULT 0,
|
|
trashed boolean DEFAULT false,
|
|
created_at timestamp without time zone,
|
|
updated_at timestamp without time zone
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: comments_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE comments_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: comments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE comments_id_seq OWNED BY comments.id;
|
|
|
|
|
|
--
|
|
-- Name: likes; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE TABLE likes (
|
|
id integer NOT NULL,
|
|
user_id integer,
|
|
likeable_id integer,
|
|
likeable_type character varying(255),
|
|
created_at timestamp without time zone,
|
|
updated_at timestamp without time zone
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: likes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE likes_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: likes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE likes_id_seq OWNED BY likes.id;
|
|
|
|
|
|
--
|
|
-- Name: notifications; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE TABLE notifications (
|
|
id integer NOT NULL,
|
|
user_id integer,
|
|
subject_id integer,
|
|
subject_type character varying(255),
|
|
name character varying(255),
|
|
read boolean DEFAULT false,
|
|
created_at timestamp without time zone,
|
|
updated_at timestamp without time zone
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: notifications_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE notifications_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: notifications_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE notifications_id_seq OWNED BY notifications.id;
|
|
|
|
|
|
--
|
|
-- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE TABLE schema_migrations (
|
|
version character varying(255) NOT NULL
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: subscriptions; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE TABLE subscriptions (
|
|
id integer NOT NULL,
|
|
user_id integer,
|
|
subscribable_id integer,
|
|
subscribable_type character varying(255),
|
|
status integer DEFAULT 0,
|
|
created_at timestamp without time zone,
|
|
updated_at timestamp without time zone
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: subscriptions_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE subscriptions_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: subscriptions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE subscriptions_id_seq OWNED BY subscriptions.id;
|
|
|
|
|
|
--
|
|
-- Name: topics; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE TABLE topics (
|
|
id integer NOT NULL,
|
|
user_id integer,
|
|
category_id integer,
|
|
title character varying(255),
|
|
body text,
|
|
hot double precision DEFAULT 0.0,
|
|
comments_count integer DEFAULT 0,
|
|
likes_count integer DEFAULT 0,
|
|
subscriptions_count integer DEFAULT 0,
|
|
trashed boolean DEFAULT false,
|
|
created_at timestamp without time zone,
|
|
updated_at timestamp without time zone
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: topics_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE topics_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: topics_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE topics_id_seq OWNED BY topics.id;
|
|
|
|
|
|
--
|
|
-- Name: users; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE TABLE users (
|
|
id integer NOT NULL,
|
|
name character varying(255),
|
|
email character varying(255),
|
|
username character varying(255),
|
|
password_digest character varying(255),
|
|
bio text,
|
|
avatar character varying(255),
|
|
locale character varying(255),
|
|
locked_at timestamp without time zone,
|
|
created_at timestamp without time zone,
|
|
updated_at timestamp without time zone,
|
|
confirmed boolean DEFAULT false
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE 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 users_id_seq OWNED BY users.id;
|
|
|
|
|
|
--
|
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY attachments ALTER COLUMN id SET DEFAULT nextval('attachments_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY categories ALTER COLUMN id SET DEFAULT nextval('categories_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY comments ALTER COLUMN id SET DEFAULT nextval('comments_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY likes ALTER COLUMN id SET DEFAULT nextval('likes_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY notifications ALTER COLUMN id SET DEFAULT nextval('notifications_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY subscriptions ALTER COLUMN id SET DEFAULT nextval('subscriptions_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY topics ALTER COLUMN id SET DEFAULT nextval('topics_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY users ALTER COLUMN id SET DEFAULT nextval('users_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: attachments_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
ALTER TABLE ONLY attachments
|
|
ADD CONSTRAINT attachments_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: categories_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
ALTER TABLE ONLY categories
|
|
ADD CONSTRAINT categories_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
ALTER TABLE ONLY comments
|
|
ADD CONSTRAINT comments_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: likes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
ALTER TABLE ONLY likes
|
|
ADD CONSTRAINT likes_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: notifications_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
ALTER TABLE ONLY notifications
|
|
ADD CONSTRAINT notifications_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: subscriptions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
ALTER TABLE ONLY subscriptions
|
|
ADD CONSTRAINT subscriptions_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: topics_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
ALTER TABLE ONLY topics
|
|
ADD CONSTRAINT topics_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
ALTER TABLE ONLY users
|
|
ADD CONSTRAINT users_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: index_attachments_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE INDEX index_attachments_on_user_id ON attachments USING btree (user_id);
|
|
|
|
|
|
--
|
|
-- Name: index_categories_on_lowercase_slug; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE UNIQUE INDEX index_categories_on_lowercase_slug ON categories USING btree (lower((slug)::text));
|
|
|
|
|
|
--
|
|
-- Name: index_comments_on_commentable_id_and_commentable_type; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE INDEX index_comments_on_commentable_id_and_commentable_type ON comments USING btree (commentable_id, commentable_type);
|
|
|
|
|
|
--
|
|
-- Name: index_comments_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE INDEX index_comments_on_user_id ON comments USING btree (user_id);
|
|
|
|
|
|
--
|
|
-- Name: index_likes_on_likeable_id_and_likeable_type; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE INDEX index_likes_on_likeable_id_and_likeable_type ON likes USING btree (likeable_id, likeable_type);
|
|
|
|
|
|
--
|
|
-- Name: index_likes_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE INDEX index_likes_on_user_id ON likes USING btree (user_id);
|
|
|
|
|
|
--
|
|
-- Name: index_notifications_on_subject_id_and_subject_type; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE INDEX index_notifications_on_subject_id_and_subject_type ON notifications USING btree (subject_id, subject_type);
|
|
|
|
|
|
--
|
|
-- Name: index_notifications_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE INDEX index_notifications_on_user_id ON notifications USING btree (user_id);
|
|
|
|
|
|
--
|
|
-- Name: index_subscriptions_on_subscribable_id_and_subscribable_type; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE INDEX index_subscriptions_on_subscribable_id_and_subscribable_type ON subscriptions USING btree (subscribable_id, subscribable_type);
|
|
|
|
|
|
--
|
|
-- Name: index_subscriptions_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE INDEX index_subscriptions_on_user_id ON subscriptions USING btree (user_id);
|
|
|
|
|
|
--
|
|
-- Name: index_topics_on_category_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE INDEX index_topics_on_category_id ON topics USING btree (category_id);
|
|
|
|
|
|
--
|
|
-- Name: index_topics_on_hot; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE INDEX index_topics_on_hot ON topics USING btree (hot);
|
|
|
|
|
|
--
|
|
-- Name: index_topics_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE INDEX index_topics_on_user_id ON topics USING btree (user_id);
|
|
|
|
|
|
--
|
|
-- Name: index_users_on_lowercase_email; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE UNIQUE INDEX index_users_on_lowercase_email ON users USING btree (lower((email)::text));
|
|
|
|
|
|
--
|
|
-- Name: index_users_on_lowercase_username; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE UNIQUE INDEX index_users_on_lowercase_username ON users USING btree (lower((username)::text));
|
|
|
|
|
|
--
|
|
-- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
|
--
|
|
|
|
CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations USING btree (version);
|
|
|
|
|
|
--
|
|
-- PostgreSQL database dump complete
|
|
--
|
|
|
|
SET search_path TO "$user",public;
|
|
|
|
INSERT INTO schema_migrations (version) VALUES ('20140103111354');
|
|
|
|
INSERT INTO schema_migrations (version) VALUES ('20140104125105');
|
|
|
|
INSERT INTO schema_migrations (version) VALUES ('20140121065043');
|
|
|
|
INSERT INTO schema_migrations (version) VALUES ('20140130122905');
|
|
|
|
INSERT INTO schema_migrations (version) VALUES ('20140204053314');
|
|
|
|
INSERT INTO schema_migrations (version) VALUES ('20140204164212');
|
|
|
|
INSERT INTO schema_migrations (version) VALUES ('20140208060708');
|
|
|
|
INSERT INTO schema_migrations (version) VALUES ('20140218070616');
|
|
|
|
INSERT INTO schema_migrations (version) VALUES ('20140310070632');
|
|
|
|
INSERT INTO schema_migrations (version) VALUES ('20140405074043');
|
|
|
|
INSERT INTO schema_migrations (version) VALUES ('20140412065000');
|
|
|