Показать сообщение отдельно
Старый 24.10.2012, 01:08   #17
Ивано
Guest
 
Сообщений: n/a
По умолчанию

Вот пример из моего ext_tables.sql
Таблица создается один раз как указано ниже.
Возможно Вы не обновили БД (вкладка расширения > доступные расширения > выбор Вашего расширения > обновление БД) после изменения расширения в kickstarter.







-- MySQL dump 10.11
--
-- Host: localhost Database: rskapit8_datebaseallproject
-- ------------------------------------------------------
-- Server version 5.0.92-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `tx_hellow_element_example_list`
--

DROP TABLE IF EXISTS `tx_hellow_element_example_list`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tx_hellow_element_example_list` (
`uid` int(11) NOT NULL auto_increment,
`pid` int(11) NOT NULL default '0',
`tstamp` int(11) NOT NULL default '0',
`crdate` int(11) NOT NULL default '0',
`cruser_id` int(11) NOT NULL default '0',
`deleted` tinyint(4) NOT NULL default '0',
`hidden` tinyint(4) NOT NULL default '0',
`starttime` int(11) unsigned NOT NULL default '0',
`endtime` int(11) unsigned NOT NULL default '0',
`asorting` int(11) unsigned NOT NULL default '0',
`sorting` int(11) unsigned NOT NULL default '0',
`title` tinytext collate utf8_bin,
`service_note` tinytext collate utf8_bin,
`url_location` varchar(255) collate utf8_bin default '0',
`telem` int(11) NOT NULL default '0',
`pelem` int(11) NOT NULL default '0',
`ptable` int(11) NOT NULL default '0',
`structure` int(11) NOT NULL default '0',
PRIMARY KEY (`uid`),
KEY `parent` (`pid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2012-10-22 20:14:11


Данный файл ext_tables.sql по хорошему нужен только для одной вещи - если вы заходите в установки typo3 и жмете анализ БД, то typo3 проверят актуальность ваших mysql-таблиц на основе данного файла.
Если что-то лишнее есть в Вашей БД, чего нет в этом файле (к примеру имеется в виду `asorting` int(11) unsigned NOT NULL default '0', ) - то typo3 их удалит из БД - в общем сделает все в точности как в этом файле...

Если он (файл) действительно нужен проекту (у Вас это будет постоянное расширение) советую сделать следующим образом: создает TCA, разрабатывает php-скрипты, создаете какую угодно mysql-таблицу (где-то читал, что желательно использовать как можно меньше разновидностей типов полей - ограничится хотябы тремя - int, varcarh, text - в общем по желанию - без всяких float bloob) - одним словом доводите его до совершенства - и после после приступаете к созданию sql-файла так:

делаете выгрузку стуктуры данной таблицы следующей командой

$table = "tt_content_yourext";
$dumpfile = PATH_typo3conf . 'ext/yourext/ext_tables.sql';
exec("mysqldump -h".TYPO3_db_host." -u".TYPO3_db_username." -p".TYPO3_db_password ." --no-data --databases ".TYPO3_db." --tables " .$table. " > $dumpfile");

И получаете готовый файл...
  Ответить с цитированием