I installed the current staging branch using posgresql and went to the extension manager -> database:
There I get the following messages:
Table 'aehqu_associations' does not have column 'id' with type integer. (From file 3.0.3.sql.)
Table 'aehqu_contentitem_tag_map' does not have index 'aehqu_contentitem_tag_map_idx_tag_name'. (From file 3.1.0.sql.)
Table 'aehqu_updates' does not have column 'version' with type varchar. (From file 3.2.2-2014-01-18.sql.)
Table 'aehqu_user_profiles' does not have column 'profile_value' with type TEXT. (From file 3.3.4-2014-08-03.sql.)
Pressing the Fix-Button 2 messages remain:
Table 'aehqu_updates' does not have column 'version' with type varchar. (From file 3.2.2-2014-01-18.sql.)
Table 'aehqu_user_profiles' does not have column 'profile_value' with type TEXT. (From file 3.3.4-2014-08-03.sql.)
I would like to know what to do to avoid the schema mismatch in the first place. I only found this information http://docs.joomla.org/Help33:Extensions_Extension_Manager_Database that didn´t help me on that. Maybe someone can point me in the right direction.
Labels |
Added:
?
|
To avoid the schema mismatch you need to empty administrator/components/com_admin/sql/updates/postgresql. Installation of Joomla should empty those folders. Updates of Joomla should only add the updates since install. Considering the limited use suggest to remove it completely.
Thank you, for looking into this. A prerequisite would be that the "master schema" in installation/sql/postgresql/joomla.sql is up to date. Therefor one index must be added
(CREATE INDEX "#__contentitem_tag_map_idx_tag_name" ON "#__contentitem_tag_map" ("tag_id", "type_alias");
and the type of the id column should be changed to integer.
As a result only 2 messages will appear. One of which can be avoided when the type TEXT in 3.3.4-2014-08-03.sql is changed to lowercases. What I haven´t found out yet is why the column 'version' in 3.2.2-2014-01-18.sql gets indicated as being not presented although it is.
Indeed, the assumption is that installation/sql/postgresql/joomla.sql contains the correct definitions to create everything in the database. It is not the intention of administator/components/com_admin/sql/updates/postgresql/*.sql to compensate mistakes in joomla.sql.
So, the index should be created in joomla.sql, TEXT should be text (as any of the datatypes are lowercase) and varchar only exists in MySQL ( in PostgreSQL it is called character varying (ALTER TABLE "#__updates" ALTER COLUMN "version" TYPE character varying(32);).
Excellent! All that is needed now is a patch. As I have done this only by form I will have to find out how to do this with multiple files involved. Will try tomorrow.
This should get you started: http://docs.joomla.org/Using_the_Github_UI_to_Make_Pull_Requests
Note the last line for adding the other two changes. Suggest to start with joomla.sql and add the simple changes to the com_admin sql files.
Category | ⇒ | Postgresql |
Status | New | ⇒ | Closed |
Rel_Number | ⇒ | 5186 | |
Relation Type | ⇒ | Related to |
Please see #5186 for a solution
This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/4922.
Set to "closed" on behalf of @brianteeman by The JTracker Application at issues.joomla.org/joomla-cms/4922
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2014-11-24 12:29:46 |
Confirmed issue