Feature #7453
import / export forms QFQ
Start date:
11.12.2018
Due date:
% Done:
0%
Estimated time:
Discuss:
Description
- Es waere gut wenn es eine Import / Export Moeglichkeit fuer Formulare gaebe.
- Das koennte einfach via mysqldump (SQL Textdump) erfolgen.
- Der Mechanismus koennte dann auch genutzt werden um den Formulareditor (und andere System Formulare) in das QFQ formEditor.sql File zu bringen (resp. dann gibt es pro System Formular vermutlich eine Datei).
- In QFQ gibt es ein Formular, in dem man den exportierten SQL Textdump einfuegen kann und das dann den Import ausfuehrt.
- Problem: wie werden die Record ID Kollisionen geloest?
Idee:
- Auf jedem Form gibt es einen Export Button der via `mysqldump .. --where ...` fuer Form und FormElement den SQL Textdump erstellt. Der kann als Text angezeigt werden.
- Import:
- Es wird eine temporaere DB angelegt.
- In diese DB wird der SQL Textdump eingelesen, via 'mysql < ...'
- In PHP wird fuer jeden Record in tempDb.Form der Import durchgefuehrt:
- INSERT INTO Form (name, ... ) SELECT tempDb.Form.name, tempDb.Form.... - die 'id' wird nicht angegeben und deshalb eine neue gesetzt.
- Mit Last Insert Id wird die 'newFormId' ermittelt.
- INSERT INTO FormElement ( formId, name, ... ) SELECT $newFormId, tempDb.FormElement.name, tempDb.FormElement .... FROM tempDb.FormElement.formId=$newFormId
- Temporaere DB loeschen.
Updated by Marc Egger about 2 years ago
Research:
- table creation: SHOW CREATE TABLE MyTable;
- sql dump:
mysqldump [-t] -u MyUserName -pMyPassword MyDatabase MyTable --where="ID = 10"
-t to omit table creation
https://stackoverflow.com/questions/3978326/get-insert-statement-for-existing-row-in-mysql
Updated by Marc Egger about 2 years ago
- Subject changed from QFQ support to import / export forms to import / export forms QFQ