[DC-880] Versionable + I18n creates additional migration with irrelevant data Created: 06/Oct/10 Updated: 19/Sep/11
|Component/s:||Behaviors, I18n, Migrations, Relations|
|Reporter:||Thomas||Assignee:||Jonathan H. Wage|
PHP 5.2, Symfony 1.4, Diem 5.1, Doctrine 1.2.2
First run of generate-migrations-diff and migrate creates 2 migration diff files. First one for new tables, second one for new indexes and foreign keys. Than if I run generate-migrations-diff again another version is created although nothing was changed and following is inside:
After a long try and errorI found out that it's only happening with I18n plus Versionable behavior.
As I already have spent much time for a report please have also a look at: http://forum.diem-project.org/viewtopic.php?f=2&t=173&sid=5e0e3349c0e15a169bc9990a3104b3f6#p465
As I'm quite new to Doctrine and Symfony systems I cannot get further, but willing for more investigation if just one could give me a hint where to start.
|Comment by Andrew Coulton [ 10/Oct/10 ]|
I think this is because the versionable behaviour doesn't define a table name in the Doctrine_Template_Versionable class. As a result, if using model prefixes, the prefixes are not discarded from the table names when the behaviour model classes are built. This means that the tables have different names to what is expected, so they have different index keys, so the indexes are dropped and recreated as part of the migration.
I have committed unit tests and patch for this issue (which applies to Searchable also) to http://github.com/acoulton/doctrine1/tree/DC-880
|Comment by Daniele Dore [ 19/Sep/11 ]|
I experienced the same problem in the latest version 1.2.4, and the patch proposed by Andrew Coulton solves the problem.