2014-02-16 19:48:54 +00:00
|
|
|
drop table if exists users_followers;
|
|
|
|
|
drop table if exists users_likers;
|
|
|
|
|
drop table if exists bands_followers;
|
|
|
|
|
drop table if exists bands_likers;
|
2014-02-15 16:55:01 +00:00
|
|
|
|
|
|
|
|
CREATE TABLE likes
|
|
|
|
|
(
|
|
|
|
|
id character varying(64) NOT NULL DEFAULT uuid_generate_v4(),
|
2014-02-15 23:23:00 +00:00
|
|
|
user_id character varying(64) NOT NULL,
|
|
|
|
|
likable_id character varying(64) NOT NULL,
|
|
|
|
|
likable_type character varying(25) NOT NULL,
|
2014-02-15 16:55:01 +00:00
|
|
|
created_at timestamp without time zone NOT NULL DEFAULT now(),
|
|
|
|
|
updated_at timestamp without time zone NOT NULL DEFAULT now(),
|
|
|
|
|
CONSTRAINT likes_pkey PRIMARY KEY (id),
|
2014-02-16 01:24:51 +00:00
|
|
|
CONSTRAINT likes_user_fkey FOREIGN KEY (user_id) REFERENCES users (id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE CASCADE,
|
2014-02-15 23:23:00 +00:00
|
|
|
CONSTRAINT likes_user_uniqkey UNIQUE (user_id, likable_id)
|
2014-02-15 16:55:01 +00:00
|
|
|
);
|
|
|
|
|
|
2014-02-15 23:23:00 +00:00
|
|
|
CREATE TABLE follows
|
2014-02-15 16:55:01 +00:00
|
|
|
(
|
|
|
|
|
id character varying(64) NOT NULL DEFAULT uuid_generate_v4(),
|
2014-02-15 23:23:00 +00:00
|
|
|
user_id character varying(64) NOT NULL,
|
|
|
|
|
followable_id character varying(64) NOT NULL,
|
|
|
|
|
followable_type character varying(25) NOT NULL,
|
2014-02-15 16:55:01 +00:00
|
|
|
created_at timestamp without time zone NOT NULL DEFAULT now(),
|
|
|
|
|
updated_at timestamp without time zone NOT NULL DEFAULT now(),
|
2014-02-15 23:23:00 +00:00
|
|
|
CONSTRAINT follows_pkey PRIMARY KEY (id),
|
2014-02-16 01:24:51 +00:00
|
|
|
CONSTRAINT follows_user_fkey FOREIGN KEY (user_id) REFERENCES users (id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE CASCADE,
|
2014-02-15 23:23:00 +00:00
|
|
|
CONSTRAINT follows_user_uniqkey UNIQUE (user_id, followable_id)
|
|
|
|
|
);
|