Closed (won't fix)
Project:
Drush
Version:
All-versions-3.0-beta1
Component:
Code
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
30 Jul 2009 at 23:10 UTC
Updated:
28 Mar 2010 at 14:03 UTC
Note the warnings at the end. Also, I was never actually prompted to enter anything at the y/n prompt at the end. I typed drush update, and the next time I could input anything was when my next shell prompt appeared.
$ drush update
Refreshing update status information ...
Done.
Update information last refreshed: Thu, 07/30/2009 - 18:07
Update status information on all installed and enabled Drupal modules:
Name Installed version Proposed version Status
Administration menu 6.x-1.5 6.x-1.5 Up to date
Advanced help 6.x-1.2 6.x-1.2 Up to date
Autosave 6.x-1.1 6.x-1.1 Up to date
Drupal 6.13 6.13 Up to date
Content Construction Kit 6.x-2.4 6.x-2.4 Up to date
(CCK)
Date 6.x-2.3 6.x-2.3 Up to date
DHTML Menu 6.x-3.5 6.x-3.5 Up to date
Global Redirect 6.x-1.2 6.x-1.2 Up to date
Google Analytics 6.x-2.2 6.x-2.2 Up to date
Link 6.x-2.6 6.x-2.6 Up to date
Poormanscron 6.x-1.0 6.x-1.0 Up to date
Token 6.x-1.12 6.x-1.12 Up to date
Viewfield 6.x-1.x-dev 6.x-1.x-dev Up to date
Views 6.x-2.6 6.x-2.6 Up to date
Wysiwyg 6.x-2.0 6.x-2.0 Up to date
Framework 6.x-2.6 6.x-2.6 Up to date
No code updates available. [ok]
You have pending database updates. Please run `drush updatedb` or [warning]
visit update.php in your browser.
ALTER TABLE {date_format} RENAME TO {date_formats} [success]
ALTER TABLE {date_formats} DROP KEY format [success]
ALTER TABLE {date_formats} ADD UNIQUE KEY formats (format, type) [success]
ALTER TABLE {date_formats} CHANGE format format VARCHAR( 100 ) [success]
CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
ALTER TABLE {date_format_locale} CHANGE format format VARCHAR( 100 ) [success]
CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
Finished performing updates. [ok]
The following updates are pending:
date_api module
6004 - The "date_format" table is missing on boxes having MySQL 5.0.67
installed. There seems to be a bug in MySQL that prevents the creation of
tables with a name "date_format" and indexes with the name "format". We
rename the table and index as a workaround.
6005 - Make sure MYSQL does not stupidly do case-insensitive searches and
indexes on our formats. @see
http:pure.rednoize.com20061126mysql-collation-matters-when-using-unique-indexe
s @see http:jjinux.blogspot.com200903mysql-case-sensitivity-hell.html @see
http:dev.mysql.comdocrefman5.0encase-sensitivity.html
Do you wish to run all pending updates? (y/n): y
Comments
Comment #1
aren cambre commentedAlso, following up with another drush update confirms that the updates did happen despite the warnings/errors:
Comment #2
aren cambre commentedThis time it advised a database update was needed when either it wasn't needed or it was already done. It again auto-entered a y in the y/n prompt; I did not type the y.
Comment #3
rsvelko commentedI noticed this bug too.
It should be an easy one for the pros.
Comment #4
rsvelko commentedThe issue here is "What does drush have to do if no code updates available but only databases updates pending?"
Currently it auto-does the DB updates auto-filling the y/n prompt?
Is this by design and safe? I vote in favor of user-freedom to choose - so this prompt should ask and not auto-fill.
To test this module try to do jsut an updatecode command for a module and then run "drush update"
Comment #5
rsvelko commentedlook here for the mkdir warnings - http://drupal.org/node/487990
Comment #6
moshe weitzman commentedSeems like a bug to me too. We should prompt. Patch wanted.
Comment #7
moshe weitzman commentedThe update command uses drush_invoke("updatecode") and then drush_backend_invoke('updatedb') for updatedb. Why this discrepency? The use of backend_invoke() suppresses the informative prompt for proceeding with db updates.
I have a feeling that we chose drush_backend_invoke() because of #539602: drush enable/disable can't be used with drush_invoke which was just fixed. So I am changing this one to drush_invoke() and now committing. If I am incorrect and this should be backend_invoke(), lets rollback and discuss.
Comment #9
aren cambre commentedStill happening in 3.0-beta1. Below is what I just got. The "Do you wish to run all pending updates? (y/n)" prompt is after the updates happen, and y is autoentered.
Expected behavior: the prompt appears before updates are run but after description of updates is displayed.
Comment #10
greg.1.anderson commentedI noticed this too, but thought it was by design. Presumably, drush_invoke should be used instead of drush_backend_invoke for updatedb as was mentioned in #7.
Comment #11
moshe weitzman commentedI did commit the code as promised in #7 but rolled it back later. I forget why, but it was with some sadness. I think updatedb needed a fresh environment to work from and backend was the easiest way to achieve it.
If you want an interactive process, you should separate out your updatecode and then your updatedb. Calling this one won't fix.