From ee458c5560f20f9c0393276f82dfb3837d22f57a Mon Sep 17 00:00:00 2001 From: Cake Date: Sat, 26 Dec 2009 16:08:01 +0900 Subject: [PATCH] =?utf8?q?bake=E7=94=9F=E6=88=90=E3=82=BD=E3=83=BC?= =?utf8?q?=E3=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- app/config/sql/chara-shee.sql | 138 ++++++++++++++++++++++++++++++++++++++++++ cake/console/cake | 0 2 files changed, 138 insertions(+) create mode 100644 app/config/sql/chara-shee.sql mode change 100644 => 100755 cake/console/cake diff --git a/app/config/sql/chara-shee.sql b/app/config/sql/chara-shee.sql new file mode 100644 index 0000000..dc079ec --- /dev/null +++ b/app/config/sql/chara-shee.sql @@ -0,0 +1,138 @@ +/*!40101 SET NAMES utf8 */; + +DROP TABLE IF EXISTS `characters`; + +DROP TABLE IF EXISTS `characters_has_profiles`; +DROP TABLE IF EXISTS `profile_selects`; +DROP TABLE IF EXISTS `profile_tables`; +DROP TABLE IF EXISTS `profiles`; + +DROP TABLE IF EXISTS `systems`; + +CREATE TABLE `systems` ( + `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `name` VARCHAR(255) NOT NULL, + `detail` TEXT NOT NULL, + `sort_order` INTEGER UNSIGNED NOT NULL DEFAULT '0', + `image_filename` VARCHAR(64) NOT NULL, + `url` TEXT NOT NULL, + `logo_filename` VARCHAR(64) NOT NULL, + PRIMARY KEY(`id`), + INDEX `systems_sort`(`sort_order`), + UNIQUE INDEX `systems_name`(`name`) +) TYPE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `characters` ( + `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `system_id` INTEGER UNSIGNED, + `user_id` INTEGER UNSIGNED NOT NULL, + `name` TEXT NOT NULL, + `image_filename` VARCHAR(64) NOT NULL, + `notes` TEXT NOT NULL, + `public_flag` ENUM('public','private') NOT NULL DEFAULT 'public', + `status_2` ENUM('active', 'graduate', 'inactive') NOT NULL DEFAULT 'active', + `sort_order` INTEGER UNSIGNED NOT NULL DEFAULT '0', + `deleted` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', + `created` DATETIME NOT NULL, + `modified` DATETIME NOT NULL, + `deleted_date` DATETIME NOT NULL, + PRIMARY KEY(`id`), + INDEX `characters_user`(`user_id`, `public_flag`), + INDEX `characters_modified`(`modified`, `public_flag`), + INDEX `characters_sort`(`sort_order`), + INDEX `characters_system`(`system_id`), + CONSTRAINT `fk_systems-characters` + FOREIGN KEY (`system_id`) REFERENCES `systems` (`id`) ON DELETE SET NULL +) TYPE=InnoDB DEFAULT CHARSET=utf8; + + +CREATE TABLE `profiles` ( + `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `system_id` INTEGER UNSIGNED NOT NULL, + `name` VARCHAR(32) NOT NULL, + `caption` TEXT NOT NULL, + `profile_type` ENUM('input', 'textarea', 'select', 'checkbox', 'colums', 'table') NOT NULL DEFAULT 'input', + `required` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', + `editable` TINYINT(1) NOT NULL DEFAULT '1', + `public_flag_default` ENUM('public', 'private') NULL DEFAULT 'public', + `sort_order` INTEGER UNSIGNED NOT NULL DEFAULT '0', + `is_link` TINYINT(1) UNSIGNED NULL DEFAULT '0', + PRIMARY KEY(`id`), + INDEX `profiles_sort`(`sort_order`), + INDEX `profiles_system_id`(`system_id`), + CONSTRAINT `fk_systems-profiles` + FOREIGN KEY (`system_id`) REFERENCES `systems` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `profile_selects` ( + `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `profile_id` INTEGER UNSIGNED NOT NULL, + `value` TEXT NOT NULL, + `sort_order` INTEGER UNSIGNED NOT NULL DEFAULT '0', + PRIMARY KEY(`id`), + INDEX `profile_selects_profile`(`profile_id`), + INDEX `profile_selects_sort`(`sort_order`), + INDEX `profile_selects_profile_sort`(`profile_id`, `sort_order`), + CONSTRAINT `fk_profiles-profile_selects` + FOREIGN KEY (`profile_id`) REFERENCES `profiles` (`id`) ON DELETE CASCADE +) TYPE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `profile_tables` ( + `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `profile_id` INTEGER UNSIGNED NOT NULL, + `name` VARCHAR(32) NOT NULL, + `title` TEXT NOT NULL, + `sort_order` INTEGER UNSIGNED NOT NULL DEFAULT '0', + PRIMARY KEY(`id`), + INDEX `profile_tables_profile`(`profile_id`, `sort_order`), + CONSTRAINT `fk_profiles-profile_talbles` + FOREIGN KEY (`profile_id`) REFERENCES `profiles` (`id`) ON DELETE CASCADE +) TYPE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE `characters_has_profiles` ( + `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `character_id` INTEGER UNSIGNED NOT NULL, + `profile_id` INTEGER UNSIGNED NOT NULL, + `profile_selects_id` INTEGER UNSIGNED NOT NULL, + `profile_tables_id` INTEGER UNSIGNED NOT NULL, + `value` TEXT NOT NULL, + `public_flag` ENUM('public', 'private') NOT NULL DEFAULT 'public', + `link_value` TEXT NOT NULL, + PRIMARY KEY(`id`), + INDEX `characters_has_profiles_character`(`character_id`), + INDEX `characters_has_profiles_character_public`(`character_id`, `public_flag`), + CONSTRAINT `fk_profiles-characters_has_profiles` + FOREIGN KEY (`profile_id`) REFERENCES `profiles` (`id`) ON DELETE CASCADE, + CONSTRAINT `fk_profile_selects-characters_has_profiles` + FOREIGN KEY (`profile_selects_id`) REFERENCES `profile_selects` (`id`) ON DELETE CASCADE, + CONSTRAINT `fk_profile_tables-characters_has_profiles` + FOREIGN KEY (`profile_tables_id`) REFERENCES `profile_tables` (`id`) ON DELETE CASCADE +) TYPE=InnoDB DEFAULT CHARSET=utf8; + + +DROP TABLE IF EXISTS `character_profile_archives`; +CREATE TABLE `character_profile_archives` ( + `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `character_id` INTEGER UNSIGNED NOT NULL, + `value` TEXT NOT NULL, + `public_flag` ENUM('public', 'private') NOT NULL DEFAULT 'public', + `deleted` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', + `created` DATETIME NOT NULL, + `deleted_date` DATETIME NOT NULL, + PRIMARY KEY(`id`), + INDEX `character_prifile_archives_character`(`created`), + INDEX `character_prifile_archives_public`(`public_flag`, `created`) +) TYPE=InnoDB DEFAULT CHARSET=utf8; + +DROP TABLE IF EXISTS `character_histories`; +CREATE TABLE `character_histories` ( + `id` INTEGER UNSIGNED NOT NULL, + `disp_date` DATETIME NOT NULL, + `title` TEXT NOT NULL, + `value` TEXT NOT NULL, + `public_flag` ENUM('public', 'private') NOT NULL DEFAULT 'public', + `created` DATETIME NOT NULL, + `modified` DATETIME NOT NULL, + INDEX `character_histories_disp_by_character`(`disp_date`, `public_flag`) +) TYPE=InnoDB DEFAULT CHARSET=utf8; + diff --git a/cake/console/cake b/cake/console/cake old mode 100644 new mode 100755 -- 2.11.0