[Phpmyadmin-devel] Suggestions for Import/Export Changes

Marc Delisle marc at infomarc.info
Tue Jun 30 19:53:06 CEST 2009

Derek Schaefer a écrit :
> Hello everyone,
> I have a couple matters that I wanted to get input from you all on.
> First, possibilities for the new import interface. For those who don't
> know much about my GSoC project, one of the goals was to create an
> intermediary interface for editing the structure of a new
> database/table set that was deduced from some import data. Via this
> interface the structure is to be altered and changed as necessary
> (dropping tables, changes keys, etc.) and once the user is satisfied,
> it is created and the data (now adapted to the new structure) in
> inserted. This involved storing all the data from the import in a PHP
> session so the source wouldn't have to be reanalyzed after the user
> made edits to the structure. I have been having some second thoughts
> regarding such an interface. Depending on the size of the import, the
> PHP session could take up a considerable amount of memory. Also, all
> database and table options are editable after creation via the current
> regular db/table interface, therefore I believe the intermediary
> interface would be redundant at best, and counterintuitive as worst.
> All the while being rather inefficient. I find that directing the user
> towards the newly created database and/or tables via a notification
> after a successful import is simple, effective, and vastly more
> efficient.

Indeed I don't think that storing import data in session is a good idea. 
You could offer the user a two-pass dialog. Pass #1 tells the user that 
a table structure will be created, then imports a small amount of data 
(maybe using some timer), analyzes it and creates a structure. Then, the 
user can refine it by the regular structure interface. Finally, user 
chooses pass #2 which does the complete data import.

> Suggestions, thought, comments, concerns, anyone?
> Second, I would like to propose a new XML export format to better
> support my new import features. This new format will present the
> option to export the SQL creation code for each of the exported tables
> in the manner outlined below:
> <?xml version="1.0" encoding="utf-8" ?>
> <!--
> -
> - phpMyAdmin XML Dump
> - ... etc. etc. etc.
> -->
> <pma_xml_export version="1.0"
> xmlns:pma="http://www.phpmyadmin.net/some_doc_url/">
>     <pma:structure>
>         <pma:db_name>
>             <pma:tbl_name_1>CREATE TABLE `tbl_name_1`...</pma:tbl_name_1>
>             <pma:tbl_name_2>CREATE TABLE `tbl_name_2`...</pma:tbl_name_2>
>             <pma:tbl_name_3>CREATE TABLE `tbl_name_3`...</pma:tbl_name_3>
>         </pma:db_name>
>     </pma:structure>

Ok for me, but what happens with views?

Marc Delisle

More information about the Developers mailing list