tornado/demos/blog/schema.sql

44 lines
1.3 KiB
SQL

-- Copyright 2009 FriendFeed
--
-- Licensed under the Apache License, Version 2.0 (the "License"); you may
-- not use this file except in compliance with the License. You may obtain
-- a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-- License for the specific language governing permissions and limitations
-- under the License.
-- To create the database:
-- CREATE DATABASE blog;
-- CREATE USER blog WITH PASSWORD 'blog';
-- GRANT ALL ON DATABASE blog TO blog;
--
-- To reload the tables:
-- psql -U blog -d blog < schema.sql
DROP TABLE IF EXISTS authors;
CREATE TABLE authors (
id SERIAL PRIMARY KEY,
email VARCHAR(100) NOT NULL UNIQUE,
name VARCHAR(100) NOT NULL,
hashed_password VARCHAR(100) NOT NULL
);
DROP TABLE IF EXISTS entries;
CREATE TABLE entries (
id SERIAL PRIMARY KEY,
author_id INT NOT NULL REFERENCES authors(id),
slug VARCHAR(100) NOT NULL UNIQUE,
title VARCHAR(512) NOT NULL,
markdown TEXT NOT NULL,
html TEXT NOT NULL,
published TIMESTAMP NOT NULL,
updated TIMESTAMP NOT NULL
);
CREATE INDEX ON entries (published);