1

The process to upgrade my civiCRM database from 4.7.11 to 4.7.13 terminated with the following error:

[Error: Upgrade DB to 4.7.13: SQL]
Error Field Error Value
Type    DB_Error
Code    -19
Message DB Error: no such field
Mode    16
UserInfo    ALTER TABLE `civicrm_price_field_value` CHANGE `deductible_amount` `non_deductible_amount` DECIMAL( 20, 2 ) NOT NULL DEFAULT '0.00' COMMENT 'Portion of total amount which is NOT tax deductible.' [nativecode=1054 ** Unknown column 'deductible_amount' in 'civicrm_price_field_value']
DebugInfo   ALTER TABLE `civicrm_price_field_value` CHANGE `deductible_amount` `non_deductible_amount` DECIMAL( 20, 2 ) NOT NULL DEFAULT '0.00' COMMENT 'Portion of total amount which is NOT tax deductible.' [nativecode=1054 ** Unknown column 'deductible_amount' in 'civicrm_price_field_value']
PEAR_Exception: DB Error: no such field in unknown on line unknown
- DB_Error: DB Error: no such field in unknown on line unknown

How can I fix this? EDIT As per question, the table structure is:

    +-----------------------+------------------+------+-----+---------+----------------+
| id                    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| price_field_id        | int(10) unsigned | NO   | MUL | NULL    |              |
| name                  | varchar(255)     | YES  |     | NULL    |              |
| label                 | varchar(255)     | YES  |     | NULL    |              |
| description           | text             | YES  |     | NULL    |              |
| amount                | varchar(512)     | NO   |     | NULL    |              |
| count                 | int(10) unsigned | YES  |     | NULL    |              |
| max_value             | int(10) unsigned | YES  |     | NULL    |              |
| weight                | int(11)          | YES  |     | 1       |              |
| membership_type_id    | int(10) unsigned | YES  | MUL | NULL    |              |
| membership_num_terms  | int(10) unsigned | YES  |     | NULL    |              |
| is_default            | tinyint(4)       | YES  |     | 0       |              |
| is_active             | tinyint(4)       | YES  |     | 1       |              |
| financial_type_id     | int(10) unsigned | YES  | MUL | NULL    |              |
| non_deductible_amount | decimal(20,2)    | NO   |     | 0.00    |              |
| help_pre              | text             | YES  |     | NULL    |              |
| help_post             | text             | YES  |     | NULL    |              |
+-----------------------+------------------+------+-----+---------+----------------+
  • 1
    Do you know how to view your MySQL tables? Can you update your question with whether either (or neither) of the fields deductible_amount and non_deductible_amount are present in the civicrm_price_field_value table? – Jon G - Megaphone Tech Nov 23 '16 at 17:21
  • I haven't been able to get phpMyAdmin running properly on this server, (the login page outputs html but the screen is blank) - but when I'm next at a computer with shell access I will figure out how to do that via MySQL console. – Richard Grevers Nov 23 '16 at 21:43
  • 1
    The SQL is DESCRIBE civicrm_price_field_value. – Jon G - Megaphone Tech Nov 24 '16 at 14:43
  • So the update is failing because it has already happened? – Richard Grevers Nov 24 '16 at 16:36
  • 1
    Correct - that particular update step has already gone through. Fixing it is ugly but possible, depending ... – Alan Dixon Nov 30 '16 at 22:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.