Segment.php
1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
declare(strict_types=1);
namespace ACP\Search\Storage\Table;
use AC\Storage\Table;
final class Segment extends Table
{
public const ID = 'id';
public const KEY = 'key';
public const LIST_SCREEN_ID = 'list_screen_id';
public const USER_ID = 'user_id';
public const NAME = 'name';
public const URL_PARAMETERS = 'url_parameters';
public const DATE_CREATED = 'date_created';
public function get_name(): string
{
global $wpdb;
return $wpdb->prefix . 'ac_segments';
}
public function get_schema(): string
{
global $wpdb;
$collate = $wpdb->get_charset_collate();
return "
CREATE TABLE " . $this->get_name() . " (
`" . self::ID . "` bigint(20) unsigned NOT NULL auto_increment,
`" . self::KEY . "` char(13) NOT NULL,
`" . self::LIST_SCREEN_ID . "` varchar(20) NOT NULL default '',
`" . self::USER_ID . "` bigint(20),
`" . self::NAME . "` varchar(255) NOT NULL default '',
`" . self::URL_PARAMETERS . "` mediumtext,
`" . self::DATE_CREATED . "` datetime NOT NULL,
PRIMARY KEY (`" . self::ID . "`),
UNIQUE (`" . self::KEY . "`)
) $collate
";
}
}