mirror of
https://github.com/alextselegidis/easyappointments.git
synced 2024-11-23 00:13:21 +03:00
204 lines
5.9 KiB
SQL
Executable file
204 lines
5.9 KiB
SQL
Executable file
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
|
SET time_zone = "+00:00";
|
|
|
|
CREATE TABLE IF NOT EXISTS `ea_appointments` (
|
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`book_datetime` DATETIME,
|
|
`start_datetime` DATETIME,
|
|
`end_datetime` DATETIME,
|
|
`timezone` VARCHAR(256) DEFAULT 'UTC',
|
|
`location` TEXT,
|
|
`notes` TEXT,
|
|
`hash` TEXT,
|
|
`is_unavailable` TINYINT(4) DEFAULT '0',
|
|
`id_users_provider` INT(11),
|
|
`id_users_customer` INT(11),
|
|
`id_services` INT(11),
|
|
`id_google_calendar` TEXT,
|
|
PRIMARY KEY (`id`),
|
|
KEY `id_users_customer` (`id_users_customer`),
|
|
KEY `id_services` (`id_services`),
|
|
KEY `id_users_provider` (`id_users_provider`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE IF NOT EXISTS `ea_consents` (
|
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`created` TIMESTAMP,
|
|
`modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
ON UPDATE CURRENT_TIMESTAMP,
|
|
`first_name` VARCHAR(256),
|
|
`last_name` VARCHAR(256),
|
|
`email` VARCHAR(512),
|
|
`ip` VARCHAR(256),
|
|
`type` VARCHAR(256),
|
|
PRIMARY KEY (`id`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE `ea_migrations` (
|
|
`version` INT(11) NOT NULL
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
CREATE TABLE IF NOT EXISTS `ea_roles` (
|
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`name` VARCHAR(256),
|
|
`slug` VARCHAR(256),
|
|
`is_admin` TINYINT(4),
|
|
`appointments` INT(11),
|
|
`customers` INT(11),
|
|
`services` INT(11),
|
|
`users` INT(11),
|
|
`system_settings` INT(11),
|
|
`user_settings` INT(11),
|
|
PRIMARY KEY (`id`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `ea_secretaries_providers` (
|
|
`id_users_secretary` INT(11) NOT NULL,
|
|
`id_users_provider` INT(11) NOT NULL,
|
|
PRIMARY KEY (`id_users_secretary`, `id_users_provider`),
|
|
KEY `id_users_secretary` (`id_users_secretary`),
|
|
KEY `id_users_provider` (`id_users_provider`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `ea_services` (
|
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`name` VARCHAR(256),
|
|
`duration` INT(11),
|
|
`price` DECIMAL(10, 2),
|
|
`currency` VARCHAR(32),
|
|
`description` TEXT,
|
|
`location` TEXT,
|
|
`availabilities_type` VARCHAR(32) DEFAULT 'flexible',
|
|
`attendants_number` INT(11) DEFAULT '1',
|
|
`id_service_categories` INT(11),
|
|
PRIMARY KEY (`id`),
|
|
KEY `id_service_categories` (`id_service_categories`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `ea_services_providers` (
|
|
`id_users` INT(11) NOT NULL,
|
|
`id_services` INT(11) NOT NULL,
|
|
PRIMARY KEY (`id_users`, `id_services`),
|
|
KEY `id_services` (`id_services`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `ea_service_categories` (
|
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`name` VARCHAR(256),
|
|
`description` TEXT,
|
|
PRIMARY KEY (`id`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `ea_settings` (
|
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`name` VARCHAR(512),
|
|
`value` LONGTEXT,
|
|
PRIMARY KEY (`id`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `ea_users` (
|
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
`first_name` VARCHAR(256),
|
|
`last_name` VARCHAR(512),
|
|
`email` VARCHAR(512),
|
|
`mobile_number` VARCHAR(128),
|
|
`phone_number` VARCHAR(128),
|
|
`address` VARCHAR(256),
|
|
`city` VARCHAR(256),
|
|
`state` VARCHAR(128),
|
|
`zip_code` VARCHAR(64),
|
|
`notes` TEXT,
|
|
`timezone` VARCHAR(256),
|
|
`id_roles` INT(11) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `id_roles` (`id_roles`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `ea_user_settings` (
|
|
`id_users` INT(11) NOT NULL,
|
|
`username` VARCHAR(256),
|
|
`password` VARCHAR(512),
|
|
`salt` VARCHAR(512),
|
|
`working_plan` TEXT,
|
|
`extra_working_plan` TEXT,
|
|
`notifications` TINYINT(4) DEFAULT '0',
|
|
`google_sync` TINYINT(4) DEFAULT '0',
|
|
`google_token` TEXT,
|
|
`google_calendar` VARCHAR(128),
|
|
`sync_past_days` INT(11) DEFAULT '5',
|
|
`sync_future_days` INT(11) DEFAULT '5',
|
|
`calendar_view` VARCHAR(32) DEFAULT 'default',
|
|
PRIMARY KEY (`id_users`)
|
|
)
|
|
ENGINE = InnoDB
|
|
DEFAULT CHARSET = utf8;
|
|
|
|
|
|
ALTER TABLE `ea_appointments`
|
|
ADD CONSTRAINT `appointments_users_customer` FOREIGN KEY (`id_users_customer`) REFERENCES `ea_users` (`id`)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE,
|
|
ADD CONSTRAINT `appointments_services` FOREIGN KEY (`id_services`) REFERENCES `ea_services` (`id`)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE,
|
|
ADD CONSTRAINT `appointments_users_provider` FOREIGN KEY (`id_users_provider`) REFERENCES `ea_users` (`id`)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE;
|
|
|
|
ALTER TABLE `ea_secretaries_providers`
|
|
ADD CONSTRAINT `secretaries_users_secretary` FOREIGN KEY (`id_users_secretary`) REFERENCES `ea_users` (`id`)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE,
|
|
ADD CONSTRAINT `secretaries_users_provider` FOREIGN KEY (`id_users_provider`) REFERENCES `ea_users` (`id`)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE;
|
|
|
|
ALTER TABLE `ea_services`
|
|
ADD CONSTRAINT `services_service_categories` FOREIGN KEY (`id_service_categories`) REFERENCES `ea_service_categories` (`id`)
|
|
ON DELETE SET NULL
|
|
ON UPDATE CASCADE;
|
|
|
|
ALTER TABLE `ea_services_providers`
|
|
ADD CONSTRAINT `services_providers_users_provider` FOREIGN KEY (`id_users`) REFERENCES `ea_users` (`id`)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE,
|
|
ADD CONSTRAINT `services_providers_services` FOREIGN KEY (`id_services`) REFERENCES `ea_services` (`id`)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE;
|
|
|
|
ALTER TABLE `ea_users`
|
|
ADD CONSTRAINT `users_roles` FOREIGN KEY (`id_roles`) REFERENCES `ea_roles` (`id`)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE;
|
|
|
|
ALTER TABLE `ea_user_settings`
|
|
ADD CONSTRAINT `user_settings_users` FOREIGN KEY (`id_users`) REFERENCES `ea_users` (`id`)
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE;
|