api de gestion de ticket, basé sur php-crud-api. Le but est de décorrélé les outils de gestion des données, afin
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

blog_postgresql.sql 8.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. --
  2. -- PostgreSQL database dump
  3. --
  4. SET statement_timeout = 0;
  5. SET client_encoding = 'UTF8';
  6. SET standard_conforming_strings = on;
  7. SET check_function_bodies = false;
  8. SET client_min_messages = warning;
  9. SET search_path = public, pg_catalog;
  10. SET default_tablespace = '';
  11. SET default_with_oids = false;
  12. --
  13. -- Drop everything
  14. --
  15. DROP TABLE IF EXISTS categories CASCADE;
  16. DROP TABLE IF EXISTS comments CASCADE;
  17. DROP TABLE IF EXISTS post_tags CASCADE;
  18. DROP TABLE IF EXISTS posts CASCADE;
  19. DROP TABLE IF EXISTS tags CASCADE;
  20. DROP TABLE IF EXISTS users CASCADE;
  21. DROP TABLE IF EXISTS countries CASCADE;
  22. DROP TABLE IF EXISTS events CASCADE;
  23. DROP VIEW IF EXISTS tag_usage;
  24. DROP TABLE IF EXISTS products CASCADE;
  25. --
  26. -- Enables the Postgis extension
  27. --
  28. CREATE EXTENSION IF NOT EXISTS postgis;
  29. --
  30. -- Name: categories; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
  31. --
  32. CREATE TABLE categories (
  33. id serial NOT NULL,
  34. name character varying(255) NOT NULL,
  35. icon bytea
  36. );
  37. --
  38. -- Name: comments; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
  39. --
  40. CREATE TABLE comments (
  41. id serial NOT NULL,
  42. post_id integer NOT NULL,
  43. message character varying(255) NOT NULL
  44. );
  45. --
  46. -- Name: post_tags; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
  47. --
  48. CREATE TABLE post_tags (
  49. id serial NOT NULL,
  50. post_id integer NOT NULL,
  51. tag_id integer NOT NULL
  52. );
  53. --
  54. -- Name: posts; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
  55. --
  56. CREATE TABLE posts (
  57. id serial NOT NULL,
  58. user_id integer NOT NULL,
  59. category_id integer NOT NULL,
  60. content character varying(255) NOT NULL
  61. );
  62. --
  63. -- Name: tags; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
  64. --
  65. CREATE TABLE tags (
  66. id serial NOT NULL,
  67. name character varying(255) NOT NULL
  68. );
  69. --
  70. -- Name: users; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
  71. --
  72. CREATE TABLE users (
  73. id serial NOT NULL,
  74. username character varying(255) NOT NULL,
  75. password character varying(255) NOT NULL,
  76. location geometry NULL
  77. );
  78. --
  79. -- Name: countries; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
  80. --
  81. CREATE TABLE countries (
  82. id serial NOT NULL,
  83. name character varying(255) NOT NULL,
  84. shape geometry NOT NULL
  85. );
  86. --
  87. -- Name: events; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
  88. --
  89. CREATE TABLE events (
  90. id serial NOT NULL,
  91. name character varying(255) NOT NULL,
  92. datetime timestamp NOT NULL,
  93. visitors integer NOT NULL
  94. );
  95. --
  96. -- Name: tag_usage; Type: VIEW; Schema: public; Owner: postgres; Tablespace:
  97. --
  98. CREATE VIEW "tag_usage" AS select "name", count("name") AS "count" from "tags", "post_tags" where "tags"."id" = "post_tags"."tag_id" group by "name" order by "count" desc, "name";
  99. --
  100. -- Name: products; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
  101. --
  102. CREATE TABLE products (
  103. id serial NOT NULL,
  104. name character varying(255) NOT NULL,
  105. price decimal(10,2) NOT NULL,
  106. properties jsonb NOT NULL,
  107. created_at timestamp NOT NULL,
  108. deleted_at timestamp NULL
  109. );
  110. --
  111. -- Data for Name: categories; Type: TABLE DATA; Schema: public; Owner: postgres
  112. --
  113. INSERT INTO "categories" ("name", "icon") VALUES
  114. ('announcement', NULL),
  115. ('article', NULL);
  116. --
  117. -- Data for Name: comments; Type: TABLE DATA; Schema: public; Owner: postgres
  118. --
  119. INSERT INTO "comments" ("post_id", "message") VALUES
  120. (1, 'great'),
  121. (1, 'fantastic'),
  122. (2, 'thank you'),
  123. (2, 'awesome');
  124. --
  125. -- Data for Name: post_tags; Type: TABLE DATA; Schema: public; Owner: postgres
  126. --
  127. INSERT INTO "post_tags" ("post_id", "tag_id") VALUES
  128. (1, 1),
  129. (1, 2),
  130. (2, 1),
  131. (2, 2);
  132. --
  133. -- Data for Name: posts; Type: TABLE DATA; Schema: public; Owner: postgres
  134. --
  135. INSERT INTO "posts" ("user_id", "category_id", "content") VALUES
  136. (1, 1, 'blog started'),
  137. (1, 2, 'It works!');
  138. --
  139. -- Data for Name: tags; Type: TABLE DATA; Schema: public; Owner: postgres
  140. --
  141. INSERT INTO "tags" ("name") VALUES
  142. ('funny'),
  143. ('important');
  144. --
  145. -- Data for Name: users; Type: TABLE DATA; Schema: public; Owner: postgres
  146. --
  147. INSERT INTO "users" ("username", "password", "location") VALUES
  148. ('user1', 'pass1', NULL),
  149. ('user2', 'pass2', NULL);
  150. --
  151. -- Data for Name: countries; Type: TABLE DATA; Schema: public; Owner: postgres
  152. --
  153. INSERT INTO "countries" ("name", "shape") VALUES
  154. ('Left', ST_GeomFromText('POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))')),
  155. ('Right', ST_GeomFromText('POLYGON ((70 10, 80 40, 60 40, 50 20, 70 10))'));
  156. --
  157. -- Data for Name: events; Type: TABLE DATA; Schema: public; Owner: postgres
  158. --
  159. INSERT INTO "events" ("name", "datetime", "visitors") VALUES
  160. ('Launch', '2016-01-01 13:01:01', 0);
  161. --
  162. -- Data for Name: events; Type: TABLE DATA; Schema: public; Owner: postgres
  163. --
  164. INSERT INTO "products" ("name", "price", "properties", "created_at") VALUES
  165. ('Calculator', '23.01', '{"depth":false,"model":"TRX-120","width":100,"height":null}', '1970-01-01 01:01:01');
  166. --
  167. -- Name: categories_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace:
  168. --
  169. ALTER TABLE ONLY categories
  170. ADD CONSTRAINT categories_pkey PRIMARY KEY (id);
  171. --
  172. -- Name: comments_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace:
  173. --
  174. ALTER TABLE ONLY comments
  175. ADD CONSTRAINT comments_pkey PRIMARY KEY (id);
  176. --
  177. -- Name: post_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace:
  178. --
  179. ALTER TABLE ONLY post_tags
  180. ADD CONSTRAINT post_tags_pkey PRIMARY KEY (id);
  181. --
  182. -- Name: post_tags_post_id_tag_id_key; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace:
  183. --
  184. ALTER TABLE ONLY post_tags
  185. ADD CONSTRAINT post_tags_post_id_tag_id_key UNIQUE (post_id, tag_id);
  186. --
  187. -- Name: posts_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace:
  188. --
  189. ALTER TABLE ONLY posts
  190. ADD CONSTRAINT posts_pkey PRIMARY KEY (id);
  191. --
  192. -- Name: tags_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace:
  193. --
  194. ALTER TABLE ONLY tags
  195. ADD CONSTRAINT tags_pkey PRIMARY KEY (id);
  196. --
  197. -- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace:
  198. --
  199. ALTER TABLE ONLY users
  200. ADD CONSTRAINT users_pkey PRIMARY KEY (id);
  201. --
  202. -- Name: countries_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace:
  203. --
  204. ALTER TABLE ONLY countries
  205. ADD CONSTRAINT countries_pkey PRIMARY KEY (id);
  206. --
  207. -- Name: events_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace:
  208. --
  209. ALTER TABLE ONLY events
  210. ADD CONSTRAINT events_pkey PRIMARY KEY (id);
  211. --
  212. -- Name: products_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres; Tablespace:
  213. --
  214. ALTER TABLE ONLY products
  215. ADD CONSTRAINT products_pkey PRIMARY KEY (id);
  216. --
  217. -- Name: comments_post_id_idx; Type: INDEX; Schema: public; Owner: postgres; Tablespace:
  218. --
  219. CREATE INDEX comments_post_id_idx ON comments USING btree (post_id);
  220. --
  221. -- Name: post_tags_post_id_idx; Type: INDEX; Schema: public; Owner: postgres; Tablespace:
  222. --
  223. CREATE INDEX post_tags_post_id_idx ON post_tags USING btree (post_id);
  224. --
  225. -- Name: post_tags_tag_id_idx; Type: INDEX; Schema: public; Owner: postgres; Tablespace:
  226. --
  227. CREATE INDEX post_tags_tag_id_idx ON post_tags USING btree (tag_id);
  228. --
  229. -- Name: posts_category_id_idx; Type: INDEX; Schema: public; Owner: postgres; Tablespace:
  230. --
  231. CREATE INDEX posts_category_id_idx ON posts USING btree (category_id);
  232. --
  233. -- Name: posts_user_id_idx; Type: INDEX; Schema: public; Owner: postgres; Tablespace:
  234. --
  235. CREATE INDEX posts_user_id_idx ON posts USING btree (user_id);
  236. --
  237. -- Name: comments_post_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
  238. --
  239. ALTER TABLE ONLY comments
  240. ADD CONSTRAINT comments_post_id_fkey FOREIGN KEY (post_id) REFERENCES posts(id);
  241. --
  242. -- Name: post_tags_post_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
  243. --
  244. ALTER TABLE ONLY post_tags
  245. ADD CONSTRAINT post_tags_post_id_fkey FOREIGN KEY (post_id) REFERENCES posts(id);
  246. --
  247. -- Name: post_tags_tag_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
  248. --
  249. ALTER TABLE ONLY post_tags
  250. ADD CONSTRAINT post_tags_tag_id_fkey FOREIGN KEY (tag_id) REFERENCES tags(id);
  251. --
  252. -- Name: posts_category_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
  253. --
  254. ALTER TABLE ONLY posts
  255. ADD CONSTRAINT posts_category_id_fkey FOREIGN KEY (category_id) REFERENCES categories(id);
  256. --
  257. -- Name: posts_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
  258. --
  259. ALTER TABLE ONLY posts
  260. ADD CONSTRAINT posts_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
  261. --
  262. -- PostgreSQL database dump complete
  263. --