Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Critical
-
Resolution: Unresolved
-
Affects Version/s: 1.2.3
-
Fix Version/s: None
-
Component/s: Migrations
-
Labels:None
-
Environment:Current HEAD of Doctrine 1.2
Description
Replicating the bug:
1. Set ATTR_MODEL_CLASS_PREFIX non-null
2. create schema file with entity
3. run doctrine build-all
4. copy schema file
5. edit schema file to add column to entity
6. run generate-migrations-diff from copy of schema file to edited schema file
Expected (previous) behaviour:
Migration is generated to add the new column to entity
Real behaviour:
Drops entity from database and creates new
Activity
Andrew Coulton
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Summary |
CLONE [ |
CLONE [ |
| Affects Version/s | 1.2.3 [ 10051 ] | |
| Affects Version/s | 1.2.0 [ 10043 ] | |
| Affects Version/s | 1.2.1 [ 10044 ] | |
| Environment |
Vanilla sandbox on version 1.2.1 and 1.2.0 both sqlite and mysql, so its not driver dependant |
Current HEAD of Doctrine 1.2 |
| Description |
Replicating the bug: 1. unzip vanilla sandbox. 2. create schema file with entity 3. run ./doctrine build-all 4. modify schema, add column to entity. 5. run ./doctrine generate-migrations-diff Expected behaviour: generates migration wich adds column to entity. Real behaviour: Drops entity from database Similar issue: http://groups.google.com/group/doctrine-user/browse_thread/thread/8b4a0fc0778a388a/79446784623b8497?lnk=gst&q=1.2.1+migration |
Replicating the bug: 1. Set ATTR_MODEL_CLASS_PREFIX non-null 2. create schema file with entity 3. run doctrine build-all 4. copy schema file 5. edit schema file to add column to entity 6. run generate-migrations-diff from copy of schema file to edited schema file Expected (previous) behaviour: Migration is generated to add the new column to entity Real behaviour: Drops entity from database and creates new |
| Priority | Minor [ 4 ] | Critical [ 2 ] |
| Fix Version/s | 1.2.3 [ 10051 ] |
Andrew Coulton
made changes -
| Attachment | dc755TestCase.diff [ 10752 ] |
Andrew Coulton
made changes -
| Attachment | fix755.diff [ 10753 ] |
This list may be incomplete, as errors occurred whilst retrieving source from linked applications:
- Request to http://www.doctrine-project.org/fisheye/ failed: Error in remote call to 'FishEye 0 (http://www.doctrine-project.org/fisheye/)' (http://www.doctrine-project.org/fisheye) [AbstractRestCommand{path='/rest-service-fe/search-v1/crossRepositoryQuery', params={query=DC-755, expand=changesets[-21:-1].revisions[0:29],reviews}, methodType=GET}] : Received status code 503 (Service Temporarily Unavailable)
This seems to be a regression caused by the fix for
DC-558which added the MODEL_CLASS_PREFIX to the $_toPrefix in Doctrine_Migration_Diff::generateChanges.While this fixed the issue when generating diff from models to YAML, it has now created the reverse issue for generating diffs from YAML to YAML - as the models generated for the "from" schema do not get MODEL_CLASS_PREFIX prepended and so now this command will drop all existing tables and recreate.
I believe the fix may be to amend as:
Since it seems that when presented with a folder of models _generateModels ignores the prefix anyway. However, I'm not sure of other impacts possible as a result?