我有一个名为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。
答案 0 :(得分:1)
原来问题是我定义了HeadingTable::getTables()
和HeadingTable::getColumns()
。学说不喜欢这样。
答案 1 :(得分:0)