I think i found a serious bug in symfony/doctine!
For me this was repeatable (i tried it with several schemas and
different symfony application)
Summary:
When you use more than a certain number of I18n fields within a
schema / model (in my case 7 fields) doctrine
generates a Doctrine_Connection_Mysql_Exception.
Description of the error:
* I´m using symfony 1.3.1
* My schema:
options:
charset: utf8
collate: utf8_general_ci
type: InnoDB
Offer:
actAs:
I18n:
fields: [offervalue1, offervalue2, offervalue3, offervalue4,
offervalue5, offervalue6, offervalue7, offervalue8, offervalue9]
columns:
offername: { type: string(255) }
offervalue1: { type: string(255) }
offervalue2: { type: string(255) }
offervalue3: { type: string(255) }
offervalue4: { type: string(255) }
offervalue5: { type: string(255) }
offervalue6: { type: string(255) }
offervalue7: { type: string(255) }
offervalue8: { type: string(255) }
offervalue9: { type: string(255) }
offervalue10: { type: string(255) }
offervalue11: { type: string(255) }
offervalue12: { type: string(255) }
offervalue13: { type: string(255) }
offervalue14: { type: string(255) }
offervalue15: { type: string(255) }
offervalue16: { type: string(255) }
offervalue17: { type: string(255) }
offervalue18: { type: string(255) }
offervalue19: { type: string(255) }
offervalue20: { type: string(255) }
offervalue21: { type: string(255) }
offervalue22: { type: string(255) }
offervalue23: { type: string(255) }
offervalue24: { type: string(255) }
offervalue25: { type: string(255) }
offervalue26: { type: string(255) }
offervalue27: { type: string(255) }
offervalue28: { type: string(255) }
offervalue29: { type: string(255) }
offervalue30: { type: string(255) }
* My form:
class OfferForm extends BaseOfferForm
{
public function configure()
{
$this->embedI18n(array
('de','en','fr','it','us','hu','pl','nl','da','sv','es','ru','fi','cs','ja','ro','et','tr','ko'));
$this->widgetSchema->setLabel('de', 'German');
$this->widgetSchema->setLabel('en', 'English UK');
$this->widgetSchema->setLabel('fr', 'French');
$this->widgetSchema->setLabel('it', 'Italian');
$this->widgetSchema->setLabel('us', 'English US');
$this->widgetSchema->setLabel('hu', 'Hungarian');
$this->widgetSchema->setLabel('pl', 'Polish');
$this->widgetSchema->setLabel('nl', 'Dutch');
$this->widgetSchema->setLabel('da', 'Danish');
$this->widgetSchema->setLabel('sv', 'Swedish');
$this->widgetSchema->setLabel('es', 'Spanish');
$this->widgetSchema->setLabel('ru', 'Russian');
$this->widgetSchema->setLabel('fi', 'Finnish');
$this->widgetSchema->setLabel('cs', 'Czech');
$this->widgetSchema->setLabel('ja', 'Japanese');
$this->widgetSchema->setLabel('ro', 'Romanian');
$this->widgetSchema->setLabel('et', 'Estonian');
$this->widgetSchema->setLabel('tr', 'Turkish');
$this->widgetSchema->setLabel('ko', 'Korean');
}
}
* the error:
--> when you create a new Offer everthing is ok
--> when you try to update a Offer the following error message
appears:
500 | Internal Server Error | Doctrine_Connection_Mysql_Exception
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or
update a child row: a foreign key constraint fails (`mytest/
offer_translation`,CONSTRAINT `offer_translation_id_offer_id` FOREIGN
KEY (`id`) REFERENCES `offer` (`id`) ON DELETE CASCADE ON UPDATE
CASCADE)
If you reduce the number of i18n fields (here overvalue1 - overvalue7)
everthing works fine!
as soon as you use more then 7 fields the error appears. (but
strangely the data will be saved correctly!)
Please if there is anybody how can give me a hint how to solve this
problem i would be really thankful (a large project depends on this
and i have no clue how to solve this issue :-(( )
--
You received this message because you are subscribed to the Google Groups
"symfony developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en.