CREATE SCHEMA IF NOT EXISTS peeringdb;

CREATE TABLE IF NOT EXISTS peeringdb.org (
	id int not null,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);

CREATE TABLE IF NOT EXISTS peeringdb.net (
	id int not null,
	org_id int not null,
	asn bigint not null,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);

CREATE TABLE IF NOT EXISTS peeringdb.ix (
	id int not null,
	org_id int not null,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);

CREATE TABLE IF NOT EXISTS peeringdb.fac (
	id int not null,
	org_id int not null,
	campus_id int,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);

CREATE TABLE IF NOT EXISTS peeringdb.poc (
	id int not null,
	net_id int not null,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);

CREATE TABLE IF NOT EXISTS peeringdb.ixlan (
	id int not null,
	ix_id int not null,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);

CREATE TABLE IF NOT EXISTS peeringdb.ixpfx (
	id int not null,
	ixlan_id int not null,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);

CREATE TABLE IF NOT EXISTS peeringdb.ixfac (
	id int not null,
	ix_id int not null,
	fac_id int not null,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);

CREATE TABLE IF NOT EXISTS peeringdb.netfac (
	id int not null,
	net_id int not null,
	fac_id int not null,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);

CREATE TABLE IF NOT EXISTS peeringdb.netixlan (
	id int not null,
	net_id int not null,
	ix_id int not null,
	ixlan_id int not null,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);

CREATE TABLE IF NOT EXISTS peeringdb.carrier (
	id int not null,
	org_id int not null,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);

CREATE TABLE IF NOT EXISTS peeringdb.carrierfac (
	id int not null,
	carrier_id int not null,
	fac_id int not null,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);

CREATE TABLE IF NOT EXISTS peeringdb.campus (
	id int not null,
	org_id int not null,
	status text not null,
	data jsonb not null,
	created timestamptz not null,
	updated timestamptz not null,
	deleted timestamptz,
	primary key (id)
);
