<?php
global $wpdb;

$wpdb->query( "CREATE TABLE {$wpdb->prefix}bwsurvey_surveys (
	id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
	title TEXT,
	data MEDIUMTEXT
) ENGINE = INNODB
	DEFAULT CHARACTER SET = utf8
	COLLATE = utf8_general_ci" );
if ( $wpdb->last_error ) {
	$error = $wpdb->last_error;
	
	return $error;
}

$wpdb->query( "CREATE TABLE {$wpdb->prefix}bwsurvey_confirmations (
	id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
	survey_id INT UNSIGNED NOT NULL,
	data MEDIUMTEXT,
	priority INT UNSIGNED NOT NULL,
	FOREIGN KEY (survey_id) REFERENCES {$wpdb->prefix}bwsurvey_surveys(id) ON DELETE CASCADE
) ENGINE = INNODB
	DEFAULT CHARACTER SET = utf8
	COLLATE = utf8_general_ci" );
if ( $wpdb->last_error ) {
	$error = $wpdb->last_error;
	return $error;
}

$wpdb->query( "CREATE TABLE {$wpdb->prefix}bwsurvey_notifications (
	id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
	survey_id INT UNSIGNED NOT NULL,
	type VARCHAR(50) NOT NULL,
	data MEDIUMTEXT,
	FOREIGN KEY (survey_id) REFERENCES {$wpdb->prefix}bwsurvey_surveys(id) ON DELETE CASCADE
) ENGINE = INNODB
	DEFAULT CHARACTER SET = utf8
	COLLATE = utf8_general_ci" );
if ( $wpdb->last_error ) {
	$error = $wpdb->last_error;
	
	return $error;
}

$wpdb->query( "CREATE TABLE {$wpdb->prefix}bwsurvey_entries (
	id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
	survey_id INT UNSIGNED NOT NULL,
	data MEDIUMTEXT,
	created_on DATETIME NOT NULL DEFAULT NOW(),
	submitted BOOLEAN DEFAULT FALSE,
	FOREIGN KEY (survey_id) REFERENCES {$wpdb->prefix}bwsurvey_surveys(id) ON DELETE CASCADE
) ENGINE = INNODB
	DEFAULT CHARACTER SET = utf8
	COLLATE = utf8_general_ci" );
if ( $wpdb->last_error ) {
	$error = $wpdb->last_error;

	return $error;
}

$wpdb->query( "CREATE TABLE {$wpdb->prefix}bwsurvey_sent_notifications (
	id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
	entry_id INT UNSIGNED NOT NULL,
	notification_id INT UNSIGNED NOT NULL,
	FOREIGN KEY (entry_id) REFERENCES {$wpdb->prefix}bwsurvey_entries(id) ON DELETE CASCADE,
	FOREIGN KEY (notification_id) REFERENCES {$wpdb->prefix}bwsurvey_notifications(id) ON DELETE CASCADE,
	UNIQUE(entry_id, notification_id)
) ENGINE = INNODB
	DEFAULT CHARACTER SET = utf8
	COLLATE = utf8_general_ci" );
if ( $wpdb->last_error ) {
	$error = $wpdb->last_error;

	return $error;
}

$wpdb->query( "CREATE TABLE {$wpdb->prefix}bwsurvey_entry_messages (
	id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
	entry_id INT UNSIGNED NOT NULL,
	data MEDIUMTEXT,
	FOREIGN KEY (entry_id) REFERENCES {$wpdb->prefix}bwsurvey_entries(id) ON DELETE CASCADE
) ENGINE = INNODB
	DEFAULT CHARACTER SET = utf8
	COLLATE = utf8_general_ci" );
if ( $wpdb->last_error ) {
	$error = $wpdb->last_error;

	return $error;
}

return false;
