PluginProbe
The Innovative Form Builder – IvyForms / 1.5.1
The Innovative Form Builder – IvyForms v1.5.1
1.5.1 1.5 1.4.1 1.4 trunk 0.1.2 0.2 0.2.1 0.3 0.3.1 0.4 0.5 0.6 0.6.1 0.6.1-backup 0.6.1.1 0.7 0.8 0.8.1 0.8.2 0.9 0.9.1 1.0 1.1 1.1.1 All 27 releases
ivyforms / backend / src / Services / InstallActions / DB / GoogleSheets / GoogleSheetsTable.php

GoogleSheetsTable.php in The Innovative Form Builder – IvyForms 1.5.1, at backend/src/Services/InstallActions/DB/GoogleSheets/GoogleSheetsTable.php

47 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace IvyForms\Services\InstallActions\DB\GoogleSheets;
4
5 // phpcs:disable PSR1.Files.SideEffects
6 if (!defined('ABSPATH')) {
7 exit;
8 }
9
10 use IvyForms\Common\Exceptions\InvalidArgumentException;
11 use IvyForms\Services\InstallActions\DB\AbstractDatabaseTable;
12
13 /**
14 * Google Sheets integrations table.
15 */
16 class GoogleSheetsTable extends AbstractDatabaseTable
17 {
18 public const TABLE = 'google_sheets';
19
20 /**
21 * @return string
22 * @throws InvalidArgumentException
23 */
24 public static function buildTable(): string
25 {
26 $table = self::getTableName();
27
28 return "CREATE TABLE $table (
29 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
30 `form_id` BIGINT(20) UNSIGNED NOT NULL,
31 `spreadsheet_id` VARCHAR(255) NOT NULL,
32 `spreadsheet_name` VARCHAR(255) NOT NULL DEFAULT '',
33 `worksheet_name` VARCHAR(255) NOT NULL DEFAULT '',
34 `field_mapping` LONGTEXT,
35 `smart_logic` LONGTEXT,
36 `enabled` TINYINT(1) NOT NULL DEFAULT 1,
37 `last_status` VARCHAR(255) DEFAULT NULL,
38 `last_run_at` DATETIME DEFAULT NULL,
39 `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
40 `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
41 PRIMARY KEY (`id`),
42 KEY `form_id` (`form_id`),
43 KEY `enabled` (`enabled`)
44 ) DEFAULT CHARSET=utf8 COLLATE utf8_general_ci";
45 }
46 }
47