Problems, need help? Have a tip or advice? Post it here.
2 posts Page 1 of 1
Hello,

I have problem related to migration of my website from my local machine to the production web server.
After applying the procedure described in the documentation, the website is working except that some content is missing.
The website is a simple site that has a community of users (extended users) that can create pages by uploading images from the front end (via data bound form).
Actually, after migration, the website is not showing any of the images that were uploaded from the front end

Digging a bit into the issue showed me that the securefile tag is giving a link to each image and I could not find any reference of the images located in uploads/attachment in the install-ex.php file.

So, I looked at the database of my website and saw that it contains 13 tables (which is inline with the file db.php).
Code: Select all
MariaDB [couchcms_www]> show tables;
+------------------------+
| Tables_in_couchcms_www |
+------------------------+
| couch_attachments      |
| couch_comments         |
| couch_data_numeric     |
| couch_data_text        |
| couch_fields           |
| couch_folders          |
| couch_fulltext         |
| couch_levels           |
| couch_pages            |
| couch_relations        |
| couch_settings         |
| couch_templates        |
| couch_users            |
+------------------------+
13 rows in set (0.00 sec)

However the import file install-ex.php generated by gen_dump.php seems to contain only 9 tables:
Code: Select all
$ grep -n couch install-ex.php | nl
     1  4:/* couch_templates (id, description, title, k_order, custom_params, , , , , , , , , , , , , , , ) */
     2  17:/* couch_fields (id, name, k_type, data, validator_msg, custom_toolbar, collapsed, no_xss_check, class, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ) */
     3  70:/* couch_pages (id, parent_id, creation_date, is_master, nested_parent_id, pointer_link_detail, file_meta, , , , , , , , , , , , , , , , , , , , , , , ) */
     4  212:/* couch_folders (id, template_id, k_desc, , , , , , ) */
     5  229:/* couch_data_text (page_id, value, , ) */
     6  2531:/* couch_data_numeric (page_id, value, ) */
     7  2588:/* couch_fulltext (page_id, content, ) */
     8  2744:/* couch_comments (id, page_id, email, data, , , , , , , ) */
     9  2747:/* couch_relations (pid, cid, , ) */

The missing tables are:
Code: Select all
couch_attachments
couch_levels
couch_settings
couch_users

Looking at the content of the couch_attachments table, I see why the uploaded images from the front end do not show up.

So, I add the following lines to gen_dump.php file
Code: Select all
    $tbls[K_TBL_ATTACHMENTS] = 'K_TBL_ATTACHMENTS';
    $tbls[K_TBL_USERS] = 'K_TBL_USERS';

I didn't include the 2 other tables (couch_levels and couch_settings) as I didn't directly see if a DBF would have influence on it.
I also had to remove the first user (with super admin role and id=1) from the install-ex.php because it throw some error (likely because the user created when doing a fresh couch install).
The website on the production server is now working fine. :D

So my questions:
Do you think what I'm doing is correct or could lead to (hidden) errors?
Is it on purpose that some tables are not part of the install-ex.php? Extended users and data bound form are modules, so I would find logical that the copy of their associated content is also copied when these modules are enabled.
What about the 2 other tables, couch_levels and couch_settings? Should these tables be part of the import file?

Olivier
Hi,

Do you think what I'm doing is correct or could lead to (hidden) errors?
It is absolutely fine. No problems.
Exporting 'users' would lead to the duplicate admin record problem but you have tackled it just fine.

Is it on purpose that some tables are not part of the install-ex.php?

The purpose of this migration utility is to move the dev version of a site from localhost to a proper online server (as opposed to migrating a live site from one location to another).

The underlying assumption here is that a localhost site is unlikely to have real securefile records as these are meant to be submitted by anonymous users from the frontend (the records that do exist are likely to be the ones uploaded while testing and should be discarded). Same goes with the users.

So basically it is a supposition that holds good for a great majority of the sites.
For more involved cases, one can always use phpMyAdmin and clone everything to the tee.

What about the 2 other tables, couch_levels and couch_settings? Should these tables be part of the import file?
No. Both get created and populated automatically.

Hope this answers your queries.
2 posts Page 1 of 1