Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Cannot Reproduce
-
Affects Version/s: 1.2.2
-
Fix Version/s: None
-
Component/s: Migrations
-
Labels:None
-
Environment:Zend Server 5.0.1 for OSX, PHP 5.3.2, MySQL 5.1.43
Description
I'm trying to get migrations going, such that I install the database, make a change to the schema.yml (something simple such as a column length change), and then have a migration generated and performed.
No matter what I try, doctrine just generates an initial add all the database tables, then after that if I try any further migration generation, they all try to drop all the database tables. I am not having much luck.
$ rm ../application/data/migrations/*
$ php ./doctrine build-all-reload
build-all-reload - Are you sure you wish to drop your databases? (y/n)
y
build-all-reload - Successfully dropped database for connection named '0'
build-all-reload - Generated models successfully from YAML schema
build-all-reload - Successfully created database for connection named '0'
build-all-reload - Created tables successfully
build-all-reload - Data was successfully loaded
$ ls ../application/data/migrations
$ php ./doctrine generate-migrations-db
generate-migrations-db - Generated migration classes successfully from database
$ ls ../application/data/migrations
1274778030_addbal_file.php 1274778038_addbal_roleanduser.php 1274778046_addburn_fileandproject.php 1274778054_addinvoicedatabackup.php 1274778062_addburnprojectindex.php
1274778031_addbal_invoice.php 1274778039_addbal_user.php 1274778047_addburn_imageandproject.php 1274778055_addusergroup.php 1274778063_addideaindex.php
1274778032_addbal_invoiceitem.php 1274778040_addbrief.php 1274778048_addburn_project.php 1274778056_addusergroupanduserfor.php 1274778064_addusergroupindex.php
1274778033_addbal_message.php 1274778041_addbriefandfile.php 1274778049_addburn_recommendation.php 1274778057_addbalfileindex.php 1274778065_addfks.php
1274778034_addbal_permission.php 1274778042_addbriefanduserfor.php 1274778050_addburn_state.php 1274778058_addbalusertaggabletag.php
1274778035_addbal_permissionandrole.php 1274778043_addbrieftype.php 1274778051_addburn_suburb.php 1274778059_addtaggabletag.php
1274778036_addbal_permissionanduser.php 1274778044_addburn_company.php 1274778052_addidea.php 1274778060_addbriefindex.php
1274778037_addbal_role.php 1274778045_addburn_department.php 1274778053_addideaandimage.php 1274778061_addburncompanyindex.php
$ ... make a change to the schema.yml file in my text editor and save, in this case change a column length from 250 to 200 ...
$ php ./doctrine generate-migrations-diff
generate-migrations-diff - Generated migration classes successfully from difference
$ ls ../application/data/migrations
1274778030_addbal_file.php 1274778038_addbal_roleanduser.php 1274778046_addburn_fileandproject.php 1274778054_addinvoicedatabackup.php 1274778062_addburnprojectindex.php
1274778031_addbal_invoice.php 1274778039_addbal_user.php 1274778047_addburn_imageandproject.php 1274778055_addusergroup.php 1274778063_addideaindex.php
1274778032_addbal_invoiceitem.php 1274778040_addbrief.php 1274778048_addburn_project.php 1274778056_addusergroupanduserfor.php 1274778064_addusergroupindex.php
1274778033_addbal_message.php 1274778041_addbriefandfile.php 1274778049_addburn_recommendation.php 1274778057_addbalfileindex.php 1274778065_addfks.php
1274778034_addbal_permission.php 1274778042_addbriefanduserfor.php 1274778050_addburn_state.php 1274778058_addbalusertaggabletag.php 1274778089_version37.php
1274778035_addbal_permissionandrole.php 1274778043_addbrieftype.php 1274778051_addburn_suburb.php 1274778059_addtaggabletag.php
1274778036_addbal_permissionanduser.php 1274778044_addburn_company.php 1274778052_addidea.php 1274778060_addbriefindex.php
1274778037_addbal_role.php 1274778045_addburn_department.php 1274778053_addideaandimage.php 1274778061_addburncompanyindex.php
$ cat ../application/data/migrations/1274778089_version37.php
<?php
/**
- This class has been auto-generated by the Doctrine ORM Framework
*/
class Version37 extends Doctrine_Migration_Base
{
public function up() { $this->dropTable('bal__file'); $this->dropTable('bal__invoice'); $this->dropTable('bal__invoice_item'); $this->dropTable('bal__message'); $this->dropTable('bal__permission'); $this->dropTable('bal__permission_and_role'); $this->dropTable('bal__permission_and_user'); $this->dropTable('bal__role'); $this->dropTable('bal__role_and_user'); $this->dropTable('bal__user'); $this->dropTable('brief'); $this->dropTable('brief_and_file'); $this->dropTable('brief_and_user_for'); $this->dropTable('brief_type'); $this->dropTable('burn__company'); $this->dropTable('burn__department'); $this->dropTable('burn__file_and_project'); $this->dropTable('burn__image_and_project'); $this->dropTable('burn__project'); $this->dropTable('burn__recommendation'); $this->dropTable('burn__state'); $this->dropTable('burn__suburb'); $this->dropTable('idea'); $this->dropTable('idea_and_image'); $this->dropTable('invoice_data_backup'); $this->dropTable('user_group'); $this->dropTable('user_group_and_user_for'); $this->dropTable('bal_file_index'); $this->dropTable('bal_user_taggable_tag'); $this->dropTable('taggable_tag'); $this->dropTable('brief_index'); $this->dropTable('burn_company_index'); $this->dropTable('burn_project_index'); $this->dropTable('burn_user_taggable_tag'); $this->dropTable('burn_user_index'); $this->dropTable('buyer_taggable_tag'); $this->dropTable('buyer_index'); $this->dropTable('company_index'); $this->dropTable('file_index'); $this->dropTable('idea_index'); $this->dropTable('project_index'); $this->dropTable('seller_taggable_tag'); $this->dropTable('seller_index'); $this->dropTable('user_taggable_tag'); $this->dropTable('user_index'); $this->dropTable('user_group_index'); }
public function down()
{
$this->createTable('bal__file', array(
'id' =>
array(
....
Clarity over tables and database.