CREATE TABLE flocks ( id BIGSERIAL PRIMARY KEY, name VARCHAR NOT NULL, created_at TIMESTAMPTZ DEFAULT NOW(), updated_at TIMESTAMPTZ DEFAULT NOW(), deleted_at TIMESTAMPTZ, created_by BIGINT REFERENCES users (id) ON DELETE SET NULL ON UPDATE CASCADE ); CREATE UNIQUE INDEX flocks_name_unique ON flocks (name) WHERE deleted_at IS NULL; CREATE TABLE project_flocks ( id BIGSERIAL PRIMARY KEY, flock_id BIGINT NOT NULL REFERENCES flocks (id) ON DELETE RESTRICT ON UPDATE CASCADE, area_id BIGINT NOT NULL REFERENCES areas (id) ON DELETE RESTRICT ON UPDATE CASCADE, product_category_id BIGINT NOT NULL REFERENCES product_categories (id) ON DELETE RESTRICT ON UPDATE CASCADE, fcr_id BIGINT NOT NULL REFERENCES fcrs (id) ON DELETE RESTRICT ON UPDATE CASCADE, location_id BIGINT NOT NULL REFERENCES locations (id) ON DELETE RESTRICT ON UPDATE CASCADE, period INT NOT NULL, created_at TIMESTAMPTZ DEFAULT NOW(), updated_at TIMESTAMPTZ DEFAULT NOW(), deleted_at TIMESTAMPTZ, created_by BIGINT REFERENCES users (id) ON DELETE SET NULL ON UPDATE CASCADE ); ALTER TABLE kandangs ADD COLUMN project_flock_id BIGINT REFERENCES project_flocks (id) ON DELETE SET NULL ON UPDATE CASCADE;