fathom/pkg/datastore/migrations/sqlite3/1_initial_tables.sql

65 lines
1.7 KiB
MySQL
Raw Normal View History

-- +migrate Up
CREATE TABLE users (
2018-05-08 12:31:51 +02:00
id INTEGER PRIMARY KEY,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL
);
CREATE TABLE pageviews(
2018-05-08 12:31:51 +02:00
id INTEGER PRIMARY KEY,
hostname VARCHAR(255) NOT NULL,
pathname VARCHAR(255) NOT NULL,
session_id VARCHAR(16) NOT NULL,
is_new_visitor TINYINT(1) NOT NULL,
is_new_session TINYINT(1) NOT NULL,
is_unique TINYINT(1) NOT NULL,
is_bounce TINYINT(1) NULL,
referrer VARCHAR(255) NULL,
2018-05-08 12:31:51 +02:00
duration INTEGER(4) NULL,
timestamp DATETIME NOT NULL
);
CREATE TABLE daily_page_stats(
hostname VARCHAR(255) NOT NULL,
pathname VARCHAR(255) NOT NULL,
2018-05-08 12:31:51 +02:00
pageviews INTEGER NOT NULL,
visitors INTEGER NOT NULL,
entries INTEGER NOT NULL,
2018-05-08 10:45:17 +02:00
bounce_rate FLOAT NOT NULL,
avg_duration FLOAT NOT NULL,
date DATE NOT NULL
);
CREATE TABLE daily_site_stats(
2018-05-08 12:31:51 +02:00
pageviews INTEGER NOT NULL,
visitors INTEGER NOT NULL,
sessions INTEGER NOT NULL,
2018-05-08 10:45:17 +02:00
bounce_rate FLOAT NOT NULL,
avg_duration FLOAT NOT NULL,
date DATE NOT NULL
);
CREATE TABLE daily_referrer_stats(
url VARCHAR(255) NOT NULL,
2018-05-08 12:31:51 +02:00
pageviews INTEGER NOT NULL,
visitors INTEGER NOT NULL,
2018-05-08 10:45:17 +02:00
bounce_rate FLOAT NOT NULL,
avg_duration FLOAT NOT NULL,
date DATE NOT NULL
);
2018-05-04 12:20:37 +02:00
2018-05-08 10:45:17 +02:00
CREATE UNIQUE INDEX unique_user_email ON users(email);
CREATE UNIQUE INDEX unique_daily_site_stats ON daily_site_stats(date);
CREATE UNIQUE INDEX unique_daily_page_stats ON daily_page_stats(pathname, date);
CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(url, date);
-- +migrate Down
DROP TABLE IF EXISTS users;
DROP TABLE IF EXISTS pageviews;
DROP TABLE IF EXISTS daily_page_stats;
DROP TABLE IF EXISTS daily_site_stats;
DROP TABLE IF EXISTS daily_referrer_stats;