mirror of
https://github.com/dimitri/pgloader.git
synced 2026-01-21 15:11:01 +01:00
52 lines
1.3 KiB
SQL
Vendored
52 lines
1.3 KiB
SQL
Vendored
CREATE TABLE companies (
|
|
id bigserial PRIMARY KEY,
|
|
name text NOT NULL,
|
|
image_url text,
|
|
created_at timestamp without time zone NOT NULL,
|
|
updated_at timestamp without time zone NOT NULL
|
|
);
|
|
|
|
CREATE TABLE campaigns (
|
|
id bigserial PRIMARY KEY,
|
|
company_id bigint REFERENCES companies (id),
|
|
name text NOT NULL,
|
|
cost_model text NOT NULL,
|
|
state text NOT NULL,
|
|
monthly_budget bigint,
|
|
blacklisted_site_urls text[],
|
|
created_at timestamp without time zone NOT NULL,
|
|
updated_at timestamp without time zone NOT NULL
|
|
);
|
|
|
|
CREATE TABLE ads (
|
|
id bigserial PRIMARY KEY,
|
|
campaign_id bigint REFERENCES campaigns (id),
|
|
name text NOT NULL,
|
|
image_url text,
|
|
target_url text,
|
|
impressions_count bigint DEFAULT 0,
|
|
clicks_count bigint DEFAULT 0,
|
|
created_at timestamp without time zone NOT NULL,
|
|
updated_at timestamp without time zone NOT NULL
|
|
);
|
|
|
|
CREATE TABLE clicks (
|
|
id bigserial PRIMARY KEY,
|
|
ad_id bigint REFERENCES ads (id),
|
|
clicked_at timestamp without time zone NOT NULL,
|
|
site_url text NOT NULL,
|
|
cost_per_click_usd numeric(20,10),
|
|
user_ip inet NOT NULL,
|
|
user_data jsonb NOT NULL
|
|
);
|
|
|
|
CREATE TABLE impressions (
|
|
id bigserial PRIMARY KEY,
|
|
ad_id bigint REFERENCES ads (id),
|
|
seen_at timestamp without time zone NOT NULL,
|
|
site_url text NOT NULL,
|
|
cost_per_impression_usd numeric(20,10),
|
|
user_ip inet NOT NULL,
|
|
user_data jsonb NOT NULL
|
|
);
|