symfony – 数据库故障 – 数据库模式与当前映射文件不同步
发布时间:2020-12-12 16:26:20 所属栏目:MsSql教程 来源:网络整理
导读:任何人都可以解释以下doctrine架构验证错误消息: 以下是manyToMany关系中每个实体的yaml ORM定义,与documentation的第5.9节内联创建. RepBundleProjectBundleEntityUser: type: entity table: User fields: id: id: true type: integer unsigned: true n
任何人都可以解释以下doctrine架构验证错误消息:
以下是manyToMany关系中每个实体的yaml ORM定义,与documentation的第5.9节内联创建. RepBundleProjectBundleEntityUser: type: entity table: User fields: id: id: true type: integer unsigned: true nullable: false generator: strategy: AUTO username: type: string length: 25 fixed: false nullable: false salt: type: string length: 32 fixed: false nullable: false password: type: string length: 40 fixed: false nullable: false email: type: string length: 60 fixed: false nullable: false manyToMany: roles: targetEntity: UserRole inversedBy: users joinTable: name: UserRoleLookup joinColumns: user_id: referencedColumnName: id inverseJoinColumns: user_role_id: referencedColumnName: id lifecycleCallbacks: { } 和UserRole逆yaml配置: RepBundleProjectBundleEntityUserRole: type: entity table: UserRole fields: id: id: true type: integer unsigned: true nullable: false generator: strategy: AUTO name: type: string length: 50 fixed: false nullable: false manyToMany: users: targetEntity: User mappedBy: roles lifecycleCallbacks: { } 这是User表架构: CREATE TABLE `User` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT,`username` varchar(25) COLLATE utf8_unicode_ci NOT NULL,`salt` varchar(32) COLLATE utf8_unicode_ci NOT NULL,`password` varchar(40) COLLATE utf8_unicode_ci NOT NULL,`email` varchar(60) COLLATE utf8_unicode_ci NOT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; UserRole表架构: CREATE TABLE `UserRole` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT,`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 和UserRoleLookup架构: CREATE TABLE `UserRoleLookup` ( `user_id` int(11) unsigned NOT NULL,`user_role_id` int(11) unsigned NOT NULL,PRIMARY KEY (`user_id`,`user_role_id`),KEY `user_role_id` (`user_role_id`),CONSTRAINT `userrolelookup_ibfk_2` FOREIGN KEY (`user_role_id`) REFERENCES `userrole` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT `userrolelookup_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 正如您所看到的,这是一个非常简单的设置,带有一个查找表来指定用户的角色或给定用户角色中的用户集.但是,我收到了这个令人沮丧的同步错误.我在这里或网上都没有读到任何简洁细节回答这个问题的内容,我希望有人可以澄清我是否可以安全地离开这个配置并忽略这个错误? 解决方法运行php bin / console doctrine:schema:update –dump-sql将显示SQL中的差异而不必转储db.您还可以运行以下命令来执行更改: php bin / console doctrine:schema:update –force –full-database 对于symfony2它是 php app / console doctrine:schema:update –force –full-database (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |