doctrine:build-schema忽略表列

时间:2010-11-18 18:14:20

标签: mysql symfony1 doctrine

我有一个名为heading的表,SHOW CREATE TABLE看起来像这样:

CREATE TABLE `heading` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `referenced_table_name` varchar(255) NOT NULL,
  `column_name` varchar(255) NOT NULL,
  `label` varchar(255) NOT NULL,
  `position` int(10) unsigned NOT NULL,
  `import_profile_id` bigint(20) NOT NULL,
  `note` text NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`),
  UNIQUE KEY `referenced_table_name` (`referenced_table_name`,`column_name`,`position`,`import_profile_id`),
  KEY `import_profile_id` (`import_profile_id`),
  CONSTRAINT `heading_ibfk_1` FOREIGN KEY (`import_profile_id`) REFERENCES `import_profile` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=847 DEFAULT CHARSET=latin1

如您所见,它有一些列。这是什么原则:构建模式是突然改变这个表(它在过去运作良好):

Heading:
  connection: doctrine
  tableName: heading
  columns: {  }
  relations:
    ImportProfile:
      local: import_profile_id
      foreign: id
      type: one
    TotalFromFile:
      local: id
      foreign: heading_id
      type: many

没有专栏。 WTF?由于某种原因,只有这个表做到这一点,它现在才发生。这是一张旧桌子!有什么想法吗?

我在LAMP上使用MySQL与symfony 1.4和Doctrine 1.2。

2 个答案:

答案 0 :(得分:1)

原来问题是我定义了HeadingTable::getTables()HeadingTable::getColumns()。学说不喜欢这样。

答案 1 :(得分:0)

杰森,我认为您的问题可能与从截断的临时文件生成的模式有关。请在此处查看问题和答案:

Symfony doctrine:build-model errors