# Before MariaDB 10.2.1, 'text' column could not have a 'default' value. # To not be forced to specify each text column on INSERT() statements, switch off strict checking: SET sql_mode = "NO_ENGINE_SUBSTITUTION"; CREATE TABLE IF NOT EXISTS `Form` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL DEFAULT '', `title` VARCHAR(1023) NOT NULL DEFAULT '', `noteInternal` TEXT NOT NULL, `tableName` VARCHAR(255) NOT NULL DEFAULT '', `primaryKey` VARCHAR(255) NOT NULL DEFAULT '', `permitNew` ENUM ('sip', 'logged_in', 'logged_out', 'always', 'never') NOT NULL DEFAULT 'sip', `permitEdit` ENUM ('sip', 'logged_in', 'logged_out', 'always', 'never') NOT NULL DEFAULT 'sip', `restMethod` SET ('get', 'post', 'put', 'delete') NOT NULL DEFAULT '', `escapeTypeDefault` VARCHAR(32) NOT NULL DEFAULT 'c', `render` ENUM ('bootstrap', 'table', 'plain') NOT NULL DEFAULT 'bootstrap', `requiredParameterNew` VARCHAR(255) NOT NULL DEFAULT '', `requiredParameterEdit` VARCHAR(255) NOT NULL DEFAULT '', `dirtyMode` ENUM ('exclusive', 'advisory', 'none') NOT NULL DEFAULT 'exclusive', `showButton` SET ('new', 'delete', 'close', 'save') NOT NULL DEFAULT 'new,delete,close,save', `multiMode` ENUM ('none', 'horizontal', 'vertical') NOT NULL DEFAULT 'none', `multiSql` TEXT NOT NULL, `multiDetailForm` VARCHAR(255) NOT NULL DEFAULT '', `multiDetailFormParameter` VARCHAR(255) NOT NULL DEFAULT '', `forwardMode` ENUM ('auto', 'close', 'no', 'url', 'url-skip-history', 'url-sip', 'url-sip-skip-history') NOT NULL DEFAULT 'auto', `forwardPage` VARCHAR(511) NOT NULL DEFAULT '', `labelAlign` ENUM ('default', 'left', 'center', 'right') NOT NULL DEFAULT 'default', `bsLabelColumns` VARCHAR(255) NOT NULL DEFAULT '', `bsInputColumns` VARCHAR(255) NOT NULL DEFAULT '', `bsNoteColumns` VARCHAR(255) NOT NULL DEFAULT '', `parameter` TEXT NOT NULL, `parameterLanguageA` TEXT NOT NULL, `parameterLanguageB` TEXT NOT NULL, `parameterLanguageC` TEXT NOT NULL, `parameterLanguageD` TEXT NOT NULL, `recordLockTimeoutSeconds` INT(11) NOT NULL DEFAULT 900, `deleted` ENUM ('yes', 'no') NOT NULL DEFAULT 'no', `fileStats` VARCHAR(255) NOT NULL DEFAULT '', `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `name` (`name`), KEY `name_deleted` (`name`, `deleted`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1000; CREATE TABLE IF NOT EXISTS `FormElement` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `formId` INT(11) NOT NULL DEFAULT '0', `feIdContainer` INT(11) NOT NULL DEFAULT '0', `dynamicUpdate` ENUM ('yes', 'no') NOT NULL DEFAULT 'no', `encryption` ENUM ('yes', 'no') NOT NULL DEFAULT 'no', `encryptionMethod` ENUM ('Default', 'AES-128','AES-256') NOT NULL DEFAULT 'Default', `enabled` ENUM ('yes', 'no') NOT NULL DEFAULT 'yes', `name` VARCHAR(255) NOT NULL DEFAULT '', `label` VARCHAR(1023) NOT NULL DEFAULT '', `mode` ENUM ('show', 'required', 'readonly', 'hidden') NOT NULL DEFAULT 'show', `modeSql` TEXT NOT NULL, `class` ENUM ('native', 'action', 'container') NOT NULL DEFAULT 'native', `type` ENUM ('checkbox', 'date', 'datetime', 'dateJQW', 'datetimeJQW', 'extra', 'gridJQW', 'text', 'editor', 'annotate', 'time', 'note', 'password', 'radio', 'select', 'subrecord', 'upload', 'imageCut', 'fieldset', 'pill', 'templateGroup', 'beforeLoad', 'beforeSave', 'beforeInsert', 'beforeUpdate', 'beforeDelete', 'afterLoad', 'afterSave', 'afterInsert', 'afterUpdate', 'afterDelete', 'sendMail', 'paste') NOT NULL DEFAULT 'text', `subrecordOption` SET ('edit', 'delete', 'new') NOT NULL DEFAULT '', `encode` ENUM ('none', 'specialchar', 'single tick') NOT NULL DEFAULT 'specialchar', `checkType` ENUM ('auto', 'alnumx', 'digit', 'numerical', 'email', 'pattern', 'allbut', 'all') NOT NULL DEFAULT 'auto', `checkPattern` VARCHAR(255) NOT NULL DEFAULT '', `onChange` VARCHAR(255) NOT NULL DEFAULT '', `ord` INT(11) NOT NULL DEFAULT '0', `tabindex` INT(11) NOT NULL DEFAULT '0', `size` VARCHAR(255) NOT NULL DEFAULT '', `maxLength` VARCHAR(255) NOT NULL DEFAULT '', `labelAlign` ENUM ('default', 'left', 'center', 'right') NOT NULL DEFAULT 'default', `bsLabelColumns` VARCHAR(255) NOT NULL DEFAULT '', `bsInputColumns` VARCHAR(255) NOT NULL DEFAULT '', `bsNoteColumns` VARCHAR(255) NOT NULL DEFAULT '', `rowLabelInputNote` SET ('row', 'label', '/label', 'input', '/input', 'note', '/note', '/row') NOT NULL DEFAULT 'row,label,/label,input,/input,note,/note,/row', `note` TEXT NOT NULL, `adminNote` TEXT NOT NULL, `tooltip` VARCHAR(255) NOT NULL DEFAULT '', `placeholder` VARCHAR(2048) NOT NULL DEFAULT '', `value` TEXT NOT NULL, `sql1` TEXT NOT NULL, `parameter` TEXT NOT NULL, `parameterLanguageA` TEXT NOT NULL, `parameterLanguageB` TEXT NOT NULL, `parameterLanguageC` TEXT NOT NULL, `parameterLanguageD` TEXT NOT NULL, `clientJs` TEXT NOT NULL, `feGroup` VARCHAR(255) NOT NULL DEFAULT '', `deleted` ENUM ('yes', 'no') NOT NULL DEFAULT 'no', `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `formId` (`formId`), KEY `formId_class_enabled_deleted` (`formId`, `class`, `enabled`, `deleted`), KEY `feIdContainer` (`feIdContainer`), KEY `ord` (`ord`), KEY `feGroup` (`feGroup`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 0; CREATE TABLE IF NOT EXISTS `Dirty` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `sip` VARCHAR(255) NOT NULL, `tableName` VARCHAR(255) NOT NULL, `recordId` INT(11) NOT NULL DEFAULT '0', `expire` DATETIME NOT NULL, `recordHashMd5` CHAR(32) NOT NULL, `tabUniqId` CHAR(32) NOT NULL, `feUser` VARCHAR(255) NOT NULL, `qfqUserSessionCookie` VARCHAR(255) NOT NULL, `dirtyMode` ENUM ('exclusive', 'advisory', 'none') NOT NULL DEFAULT 'exclusive', `remoteAddress` VARCHAR(45) NOT NULL, `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `sip` (`sip`), KEY `tableName` (`tableName`), KEY `recordId` (`recordId`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 0; # MailLog CREATE TABLE IF NOT EXISTS `MailLog` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `grId` INT(11) NOT NULL DEFAULT '0', `xId` INT(11) NOT NULL DEFAULT '0', `xId2` INT(11) NOT NULL DEFAULT '0', `xId3` INT(11) NOT NULL DEFAULT '0', `receiver` TEXT NOT NULL, `cc` TEXT NOT NULL, `bcc` TEXT NOT NULL, `sender` VARCHAR(255) NOT NULL DEFAULT '', `subject` VARCHAR(255) NOT NULL DEFAULT '', `body` TEXT NOT NULL, `header` VARCHAR(2048) NOT NULL DEFAULT '', `attach` VARCHAR(4096) NOT NULL DEFAULT '', `src` VARCHAR(255) NOT NULL DEFAULT '', `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 0; CREATE TABLE IF NOT EXISTS `FormSubmitLog` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `formData` TEXT NOT NULL, `sipData` TEXT NOT NULL, `clientIp` VARCHAR(64) NOT NULL, `feUser` VARCHAR(64) NOT NULL, `userAgent` TEXT NOT NULL, `formId` INT(11) NOT NULL DEFAULT '0', `formName` VARCHAR(255) NOT NULL, `recordId` INT(11) NOT NULL DEFAULT '0', `pageId` INT NOT NULL, `sessionId` VARCHAR(32) NOT NULL, `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), INDEX (`feUser`), INDEX (`formId`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 0; CREATE TABLE IF NOT EXISTS `Clipboard` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `cookie` VARCHAR(255) NOT NULL DEFAULT '', `formIdPaste` INT(11) NOT NULL DEFAULT '0', `idSrc` INT(11) NOT NULL DEFAULT '0', `xId` INT(11) NOT NULL DEFAULT '0', `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 0; # AutoCRON CREATE TABLE IF NOT EXISTS `Cron` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `grId` INT(11) NOT NULL DEFAULT '0', `xId` INT(11) NOT NULL DEFAULT '0', `type` ENUM ('mail', 'website') NOT NULL DEFAULT 'website', `lastRun` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `lastStatus` TEXT NOT NULL, `nextRun` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `frequency` VARCHAR(32) NOT NULL, `inProgress` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `status` ENUM ('enable', 'disable') NOT NULL DEFAULT 'enable', `sql1` TEXT NOT NULL, `content` TEXT NOT NULL, `comment` TEXT NOT NULL, `outputFile` VARCHAR(255) NOT NULL, `outputMode` ENUM ('overwrite', 'append') NOT NULL DEFAULT 'append', `outputPattern` VARCHAR(255) NOT NULL, `autoGenerated` ENUM ('yes', 'no') NOT NULL DEFAULT 'no', `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8; CREATE TABLE IF NOT EXISTS `Split` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `tableName` VARCHAR(255) NOT NULL, `xId` INT(11) NOT NULL DEFAULT '0', `pathFileName` VARCHAR(255) NOT NULL, `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8; # Used to save tablesorter.js column selection settings. Free to use for other settings as well. CREATE TABLE IF NOT EXISTS `Setting` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `type` ENUM ('', 'tablesorter') NOT NULL, `readonly` ENUM ('yes', 'no') NOT NULL DEFAULT 'no' COMMENT 'Settings can''t be modified.', `name` VARCHAR(64) NOT NULL, `public` TINYINT(1) NOT NULL DEFAULT '0', `feUser` VARCHAR(32) NOT NULL COMMENT 'In case there is no logged in user, take QFQ cookie.', `tableId` VARCHAR(64) NOT NULL, `view` TEXT NOT NULL, `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `name` (`name`), KEY `typeFeUserUidTableIdPublic` (`type`, `feUser`, `tableId`, `public`) USING BTREE ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;