00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 $installer = $this;
00028
00029
00030 $installer->startSetup();
00031
00032 $installer->run("
00033 CREATE TABLE `{$installer->getTable('core_resource')}` (
00034 `code` varchar(50) NOT NULL default '',
00035 `version` varchar(50) NOT NULL default '',
00036 PRIMARY KEY (`code`)
00037 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Resource version registry';
00038
00039 CREATE TABLE `{$installer->getTable('core_website')}` (
00040 `website_id` smallint(5) unsigned NOT NULL auto_increment,
00041 `code` varchar(32) NOT NULL default '',
00042 `name` varchar(64) NOT NULL default '',
00043 `sort_order` smallint(5) unsigned NOT NULL default '0',
00044 `default_group_id` smallint(5) unsigned NOT NULL default '0',
00045 PRIMARY KEY (`website_id`),
00046 UNIQUE KEY `code` (`code`),
00047 KEY `sort_order` (`sort_order`),
00048 KEY `default_group_id` (`default_group_id`)
00049 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Websites';
00050
00051 INSERT INTO `{$installer->getTable('core_website')}` VALUES
00052 (0, 'admin', 'Admin', 0, 0),
00053 (1, 'base', 'Main Website', 0, 1);
00054
00055 -- DROP TABLE IF EXISTS `{$installer->getTable('core_store_group')}`;
00056 CREATE TABLE `{$installer->getTable('core_store_group')}` (
00057 `group_id` smallint(5) unsigned NOT NULL auto_increment,
00058 `website_id` smallint(5) unsigned NOT NULL default '0',
00059 `name` varchar(32) NOT NULL default '',
00060 `root_category_id` int(10) unsigned NOT NULL default '0',
00061 `default_store_id` smallint(5) unsigned NOT NULL default '0',
00062 PRIMARY KEY (`group_id`),
00063 KEY `FK_STORE_GROUP_WEBSITE` (`website_id`),
00064 KEY `default_store_id` (`default_store_id`)
00065 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
00066
00067 INSERT INTO `{$installer->getTable('core_store_group')}` VALUES
00068 (0, 0, 'Default', 0, 0),
00069 (1, 1, 'Main Website Store', 2, 1);
00070
00071 -- DROP TABLE IF EXISTS `{$installer->getTable('core_store')}`;
00072 CREATE TABLE `{$installer->getTable('core_store')}` (
00073 `store_id` smallint(5) unsigned NOT NULL auto_increment,
00074 `code` varchar(32) NOT NULL default '',
00075 `website_id` smallint(5) unsigned default '0',
00076 `group_id` smallint(5) unsigned NOT NULL default '0',
00077 `name` varchar(32) NOT NULL default '',
00078 `sort_order` smallint(5) unsigned NOT NULL default '0',
00079 `is_active` tinyint(1) unsigned NOT NULL default '0',
00080 PRIMARY KEY (`store_id`),
00081 UNIQUE KEY `code` (`code`),
00082 KEY `FK_STORE_WEBSITE` (`website_id`),
00083 KEY `is_active` (`is_active`,`sort_order`),
00084 KEY `FK_STORE_GROUP` (`group_id`)
00085 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Stores';
00086
00087 INSERT INTO `{$installer->getTable('core_store')}` VALUES
00088 (0, 'admin', 0, 0, 'Admin', 0, 1),
00089 (1, 'default', 1, 1, 'Default Store View', 0, 1);
00090
00091 CREATE TABLE `{$installer->getTable('core_config_data')}` (
00092 `config_id` int(10) unsigned NOT NULL auto_increment,
00093 `scope` enum('default','websites','stores','config') NOT NULL default 'default',
00094 `scope_id` int(11) NOT NULL default '0',
00095 `path` varchar(255) NOT NULL default 'general',
00096 `value` text NOT NULL,
00097 PRIMARY KEY (`config_id`),
00098 UNIQUE KEY `config_scope` (`scope`,`scope_id`,`path`)
00099 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
00100
00101 CREATE TABLE `{$installer->getTable('core_email_template')}` (
00102 `template_id` int(7) unsigned NOT NULL auto_increment,
00103 `template_code` varchar(150) default NULL,
00104 `template_text` text,
00105 `template_type` int(3) unsigned default NULL,
00106 `template_subject` varchar(200) default NULL,
00107 `template_sender_name` varchar(200) default NULL,
00108 `template_sender_email` varchar(200) character set latin1 collate latin1_general_ci default NULL,
00109 `added_at` datetime default NULL,
00110 `modified_at` datetime default NULL,
00111 PRIMARY KEY (`template_id`),
00112 UNIQUE KEY `template_code` (`template_code`),
00113 KEY `added_at` (`added_at`),
00114 KEY `modified_at` (`modified_at`)
00115 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Email templates';
00116
00117 CREATE TABLE `{$installer->getTable('core_layout_update')}` (
00118 `layout_update_id` int(10) unsigned NOT NULL auto_increment,
00119 `handle` varchar(255) default NULL,
00120 `xml` text,
00121 PRIMARY KEY (`layout_update_id`),
00122 KEY `handle` (`handle`)
00123 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
00124
00125 CREATE TABLE `{$installer->getTable('core_layout_link')}` (
00126 `layout_link_id` int(10) unsigned NOT NULL auto_increment,
00127 `store_id` smallint(5) unsigned NOT NULL default '0',
00128 `package` varchar(64) NOT NULL default '',
00129 `theme` varchar(64) NOT NULL default '',
00130 `layout_update_id` int(10) unsigned NOT NULL default '0',
00131 PRIMARY KEY (`layout_link_id`),
00132 UNIQUE KEY `store_id` (`store_id`,`package`,`theme`,`layout_update_id`),
00133 KEY `FK_core_layout_link_update` (`layout_update_id`)
00134 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
00135
00136 CREATE TABLE `{$installer->getTable('core_session')}` (
00137 `session_id` varchar(255) NOT NULL default '',
00138 `website_id` smallint(5) unsigned default NULL,
00139 `session_expires` int(10) unsigned NOT NULL default '0',
00140 `session_data` text NOT NULL,
00141 PRIMARY KEY (`session_id`),
00142 KEY `FK_SESSION_WEBSITE` (`website_id`)
00143 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Session data store';
00144
00145 CREATE TABLE `{$installer->getTable('core_translate')}` (
00146 `key_id` int(10) unsigned NOT NULL auto_increment,
00147 `string` varchar(255) NOT NULL default '',
00148 `store_id` smallint(5) unsigned NOT NULL default '0',
00149 `translate` varchar(255) NOT NULL default '',
00150 `locale` varchar(20) NOT NULL default 'en_US',
00151 PRIMARY KEY (`key_id`),
00152 UNIQUE KEY `IDX_CODE` (`store_id`,`locale`,`string`),
00153 KEY `FK_CORE_TRANSLATE_STORE` (`store_id`)
00154 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Translation data';
00155
00156 CREATE TABLE `{$installer->getTable('core_url_rewrite')}` (
00157 `url_rewrite_id` int(10) unsigned NOT NULL auto_increment,
00158 `store_id` smallint(5) unsigned NOT NULL default '0',
00159 `id_path` varchar(255) NOT NULL default '',
00160 `request_path` varchar(255) NOT NULL default '',
00161 `target_path` varchar(255) NOT NULL default '',
00162 `options` varchar(255) NOT NULL default '',
00163 `type` int(1) NOT NULL default '0',
00164 `description` varchar(255) default NULL,
00165 PRIMARY KEY (`url_rewrite_id`),
00166 UNIQUE KEY `id_path` (`id_path`,`store_id`),
00167 UNIQUE KEY `request_path` (`request_path`,`store_id`),
00168 KEY `target_path` (`target_path`,`store_id`),
00169 KEY `store_id` (`store_id`)
00170 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
00171
00172 CREATE TABLE `{$installer->getTable('core_url_rewrite_tag')}` (
00173 `url_rewrite_tag_id` int(10) unsigned NOT NULL auto_increment,
00174 `url_rewrite_id` int(10) unsigned NOT NULL default '0',
00175 `tag` varchar(255) default NULL,
00176 PRIMARY KEY (`url_rewrite_tag_id`),
00177 UNIQUE KEY `tag` (`tag`,`url_rewrite_id`),
00178 KEY `url_rewrite_id` (`url_rewrite_id`)
00179 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
00180
00181 CREATE TABLE `{$installer->getTable('design_change')}` (
00182 `design_change_id` int(11) NOT NULL auto_increment,
00183 `store_id` smallint(5) unsigned NOT NULL default '0',
00184 `design` varchar(255) NOT NULL default '',
00185 `date_from` date NOT NULL default '0000-00-00',
00186 `date_to` date NOT NULL default '0000-00-00',
00187 PRIMARY KEY (`design_change_id`),
00188 KEY `FK_DESIGN_CHANGE_STORE` (`store_id`)
00189 ) ENGINE=InnoDB DEFAULT CHARSET=utf8
00190 ");
00191
00192 $installer->run("
00193
00194 ALTER TABLE `{$installer->getTable('core_store_group')}`
00195 ADD CONSTRAINT `FK_STORE_GROUP_WEBSITE` FOREIGN KEY (`website_id`) REFERENCES `{$installer->getTable('core_website')}` (`website_id`) ON DELETE CASCADE ON UPDATE CASCADE;
00196
00197 ALTER TABLE `{$installer->getTable('core_store')}`
00198 ADD CONSTRAINT `FK_STORE_GROUP_STORE` FOREIGN KEY (`group_id`) REFERENCES `{$installer->getTable('core_store_group')}` (`group_id`) ON DELETE CASCADE ON UPDATE CASCADE,
00199 ADD CONSTRAINT `FK_STORE_WEBSITE` FOREIGN KEY (`website_id`) REFERENCES `{$installer->getTable('core_website')}` (`website_id`) ON DELETE CASCADE ON UPDATE CASCADE;
00200
00201 ALTER TABLE `{$installer->getTable('core_layout_link')}`
00202 ADD CONSTRAINT `FK_CORE_LAYOUT_LINK_STORE` FOREIGN KEY (`store_id`) REFERENCES `{$installer->getTable('core_store')}` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE,
00203 ADD CONSTRAINT `FK_CORE_LAYOUT_LINK_UPDATE` FOREIGN KEY (`layout_update_id`) REFERENCES `{$installer->getTable('core_layout_update')}` (`layout_update_id`) ON DELETE CASCADE ON UPDATE CASCADE;
00204
00205 ALTER TABLE `{$installer->getTable('core_session')}`
00206 ADD CONSTRAINT `FK_SESSION_WEBSITE` FOREIGN KEY (`website_id`) REFERENCES `{$installer->getTable('core_website')}` (`website_id`) ON DELETE CASCADE ON UPDATE CASCADE;
00207
00208 ALTER TABLE `{$installer->getTable('core_translate')}`
00209 ADD CONSTRAINT `FK_CORE_TRANSLATE_STORE` FOREIGN KEY (`store_id`) REFERENCES `{$installer->getTable('core_store')}` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE;
00210
00211 ALTER TABLE `{$installer->getTable('core_url_rewrite')}`
00212 ADD CONSTRAINT `FK_CORE_URL_REWRITE_STORE` FOREIGN KEY (`store_id`) REFERENCES `{$installer->getTable('core_store')}` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE;
00213
00214 ALTER TABLE `{$installer->getTable('core_url_rewrite_tag')}`
00215 ADD CONSTRAINT `FK_CORE_URL_REWRITE_TAG_URL_REWRITE` FOREIGN KEY (`url_rewrite_id`) REFERENCES `{$installer->getTable('core_url_rewrite')}` (`url_rewrite_id`) ON DELETE CASCADE ON UPDATE CASCADE;
00216
00217 ALTER TABLE `{$installer->getTable('design_change')}`
00218 ADD CONSTRAINT `FK_DESIGN_CHANGE_STORE` FOREIGN KEY (`store_id`) REFERENCES `{$installer->getTable('core_store')}` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE;
00219
00220 ");
00221
00222 $installer->endSetup();