diff --git a/.gitattributes b/.gitattributes
index a75c0ab764f960e9e2a69832daedd5dcfa4abf02..eb9e440a5beeb3140a4adec0fa69754649dc73ba 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -4816,6 +4816,7 @@ SAS/OTDB/src/setStatus.conf -text
 SAS/OTDB/test/tBrokenHardware.cc -text
 SAS/OTDB/test/tMetadata.cc -text
 SAS/OTDB/test/tQueryPIC.cc -text
+SAS/ResourceAssignment/ResourceAllocationDatabase/sql/create_database.sql -text
 SAS/Scheduler/src/.default_settings.set -text
 SAS/Scheduler/src/LOFAR_libScheduler.pro -text
 SAS/Scheduler/src/conflictdialog.ui -text
diff --git a/SAS/ResourceAssignment/ResourceAllocationDatabase/sql/create_database.sql b/SAS/ResourceAssignment/ResourceAllocationDatabase/sql/create_database.sql
new file mode 100644
index 0000000000000000000000000000000000000000..e1f06b90757be6da9244c46a6dff05fbd75c0933
--- /dev/null
+++ b/SAS/ResourceAssignment/ResourceAllocationDatabase/sql/create_database.sql
@@ -0,0 +1,174 @@
+-- DROP DATABASE IF EXISTS resourceallocation;
+-- CREATE DATABASE resourceallocation
+--   WITH OWNER = renting
+ --      ENCODING = 'UTF8'
+--       TABLESPACE = pg_default
+--       LC_COLLATE = 'en_US.UTF-8'
+--       LC_CTYPE = 'en_US.UTF-8'
+--       CONNECTION LIMIT = -1;
+--CREATE SCHEMA resourceallocation;
+--SET SCHEMA 'resourceallocation';
+
+-- USE resourceassignment;
+
+BEGIN;
+DROP TABLE IF EXISTS resource;
+CREATE TABLE resource (
+  id serial NOT NULL,
+  name text NOT NULL,
+  type_id integer NOT NULL,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE resource
+  OWNER TO renting;
+
+-- Could this be a CREATE TYPE?
+DROP TABLE IF EXISTS resource_type;
+CREATE TABLE resource_type (
+  id serial NOT NULL,
+  name text NOT NULL,
+  unit_id integer NOT NULL,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE resource_type
+  OWNER TO renting;
+
+-- Could this be a CREATE TYPE?
+DROP TABLE IF EXISTS unit;
+CREATE TABLE unit (
+  id serial NOT NULL,
+  units text NOT NULL,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE unit
+  OWNER TO renting;
+
+DROP TABLE IF EXISTS resource_to_resource_group;
+CREATE TABLE resource_to_resource_group (
+  id serial NOT NULL,
+  child_id integer NOT NULL,
+  parent_id integer NOT NULL,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE resource_to_resource_group
+  OWNER TO renting;
+
+DROP TABLE IF EXISTS resource_group;
+CREATE TABLE resource_group (
+  id serial NOT NULL,
+  name text NOT NULL,
+  type_id integer NOT NULL,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE resource_group
+  OWNER TO renting;
+
+-- Could this be a CREATE TYPE?
+DROP TABLE IF EXISTS resource_group_type;
+CREATE TABLE resource_group_type (
+  id serial NOT NULL,
+  name text NOT NULL,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE resource_group_type
+  OWNER TO renting;
+
+DROP TABLE IF EXISTS resource_group_to_resource_group;
+CREATE TABLE resource_group_to_resource_group (
+  id serial NOT NULL,
+  child_id integer NOT NULL,
+  parent_id integer,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE resource_group_to_resource_group
+  OWNER TO renting;
+
+DROP TABLE IF EXISTS resource_claim;
+CREATE TABLE resource_claim (
+  id serial NOT NULL,
+  resource_id integer NOT NULL,
+  task_id integer NOT NULL,
+  starttime timestamp NOT NULL,
+  endtime timestamp NOT NULL,
+  status_id integer NOT NULL,
+  claim_endtime timestamp NOT NULL,
+  claim_size bigint NOT NULL,
+  username text,
+  user_id integer,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE resource_claim
+  OWNER TO renting;
+
+DROP TABLE IF EXISTS resource_claim_status;
+CREATE TABLE resource_claim_status (
+  id serial NOT NULL,
+  name text NOT NULL,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE resource_claim_status
+  OWNER TO renting;
+
+DROP TABLE IF EXISTS task;
+CREATE TABLE task (
+  id serial NOT NULL,
+  mom_id integer,
+  otdb_id integer,
+  status_id integer NOT NULL,
+  type_id integer NOT NULL,
+  specification_id integer NOT NULL,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE task
+  OWNER TO renting;
+
+DROP TABLE IF EXISTS task_type;
+CREATE TABLE task_type (
+  id serial NOT NULL,
+  name text NOT NULL,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE task_type
+  OWNER TO renting;
+
+DROP TABLE IF EXISTS specification;
+CREATE TABLE specification (
+  id serial NOT NULL,
+  content text,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE specification
+  OWNER TO renting;
+
+DROP TABLE IF EXISTS resource_capacity;
+CREATE TABLE resource_capacity (
+  id serial NOT NULL,
+  resource_id integer NOT NULL,
+  available bigint NOT NULL,
+  total bigint NOT NULL,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE resource_capacity
+  OWNER TO renting;
+
+DROP TABLE IF EXISTS resource_availability;
+CREATE TABLE resource_availability (
+  id serial NOT NULL,
+  resource_id integer NOT NULL,
+  available bool NOt NULL,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE resource_availability
+  OWNER TO renting;
+
+DROP TABLE IF EXISTS resource_group_availability;
+CREATE TABLE resource_group_availability (
+  id serial NOT NULL,
+  resource_group_id integer NOT NULL,
+  available bool NOt NULL,
+  PRIMARY KEY (id)
+) WITH (OIDS=FALSE);
+ALTER TABLE resource_group_availability
+  OWNER TO renting;
+
+COMMIT;