GSoC 2015 : Weekly Report #6 : RFE #342 & RFE#1060

Week #6

Task(s) completed: 

RFE #342 : One file per table/ One file per Database while exporting a database/ server

RFE #1060 : Designer settings like ‘Angular/ Direct Links’, ‘Snap to Grid’ etc. should be remembered

Tasks worked upon:

None

Scheduled Deadline: 12th July

Completed on: NA

Details:

1. The RFE#342 suggests that we provide an option to export objects inside a database/ server as separate files.

At present, while exporting a database/ server, the form at server_export.php or db_export.php is submitted to export.php, where various post parameters are set and functions from export.lib.php are called using those appropriate parameters.

Now, I added a checkbox on db_export.php and server_export.php with a label as ‘Export Tables/ Databases as separate files’. When checked, it forces the compression method to go to ‘zipped’ as only Zip compression is supported for separate file export.

Now, while exporting a server, it is simple, as each database will have one file each. But the catch is while exporting a database as it may have views, procedures, functions, triggers, indexes, auto_increments etc.

Thus, with a discussion with my mentor, Isaac, we decided the structure of the export zip as :
a. Tables exported as dbName_tbl_tblName.sql
b. Views exported as  dbName_view_viewName.sql
c. All routines grouped and exported as dbName_routines.sql
d. All triggers grouped and exported as dbName_triggers.sql
e. Indexes, Auto increments and other information grouped and exported as dbName_extra.sql

All formats of exports such as SQL, Doc, LaTex etc. are supported.

The PR[0] is at the testing phase and is not merged yet, but will be merged soon.

2. The description about RFE#1060 is available in my previous blog post here [1]

The decision about this has been made that we will add a new table in configuration storage and store the designer settings/ preferences there.
The related PR[2] is still under review and testing and will be merged soon.

Screenshots: 

The database export page with the new checkbox

The database export page with the new checkbox

Contents of server export with databases as separate files: localhost.sql.zip

Contents of server export with databases as separate files: localhost.sql.zip

Contents of db export of sakila db with tables as separate files: sakila.sql.zip

Contents of db export of sakila db with tables as separate files: sakila.sql.zip

The database export page with the new checkbox

The server export page with the new checkbox

 

Implemented with: NA

Links:
[0] : https://github.com/phpmyadmin/phpmyadmin/pull/1744
[1] : https://devenbansod.wordpress.com/2015/06/15/gsoc-2015-weekly-report-5-rfe-1594-rfe1060/
[2] : https://github.com/phpmyadmin/phpmyadmin/pull/1737

 

About Deven Bansod

I am a recent graduate with a dual degree in B.E.(Hons.) Computer Science Engg. and M.Sc.(Hons.) Economics from BITS Pilani, Pilani (India). I am interested in and have been contributing to development of free and open source software s (FOSS). More recently, I have been contributing to phpMyAdmin, a web interface to MySQL, written in PHP. I'm looking for opportunities to contribute to interesting open-source softwares.

Posted on June 22, 2015, in GSoC 2015, phpMyAdmin, Weekly Reports and tagged , , , . Bookmark the permalink. 1 Comment.

  1. I like all the screenshots you include here 🙂

    Like

Leave a comment