किसी को निम्नलिखित सिद्धांत स्कीमा मान्यता त्रुटि संदेश व्याख्या कर सकते हैं के साथ सिंक में नहीं है कृपया:डाटाबेस विफल - डेटाबेस स्कीमा वर्तमान मैपिंग फ़ाइल
यहाँ में प्रत्येक इकाई की YAML ORM परिभाषा है कई बहुत सारे रिश्तों ने documentation की धारा 5.9 के साथ इनलाइन बनाई।
Rep\Bundle\ProjectBundle\Entity\User:
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 विन्यास:
Rep\Bundle\ProjectBundle\Entity\UserRole:
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: { }
यहाँ उपयोगकर्ता तालिका स्कीमा है:
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;
आप देख सकते हैं, यह किसी विशेष उपयोगकर्ता भूमिका में एक उपयोगकर्ता की भूमिकाओं या उपयोगकर्ताओं का समूह हुक्म करने के लिए एक लुक-अप तालिका के साथ एक सुंदर साधारण सेटअप है। हालांकि, मुझे यह निराशाजनक सिंच त्रुटि मिल रही है। मैंने यहां कुछ भी नहीं पढ़ा है या ऑनलाइन जो किसी भी संक्षिप्त विवरण में इस प्रश्न का उत्तर देता है, मैं उम्मीद कर रहा था कि अगर कोई इस कॉन्फ़िगरेशन को छोड़ने और इस त्रुटि को अनदेखा करने के लिए सुरक्षित है तो कोई स्पष्टीकरण दे सकता है?
अच्छे विचार का उपयोग करके हमारे बारे में सोचेंगे। यह मेरे लिए काम किया। निश्चित रूप से कमांड "orm: schema: update" है यदि आप zf2 और doctrine/doctrine-orm-module –
का उपयोग करते हैं, तो यह त्रुटि "द '--full-डेटाबेस' विकल्प मौजूद नहीं है।" (सिम्फनी 2.8.1) –
ऐसा लगता है कि इसका नाम बदलकर 'अपूर्ण' किया गया था: https://github.com/doctrine/doctrine2/blob/b055d78ea19835fab563dfc234d4804a9d04966a/lib/Doctrine/ORM/Tools/Console/Command/SchemaTool/UpdateCommand। php –