-
-
Notifications
You must be signed in to change notification settings - Fork 113
Expand file tree
/
Copy pathIStructure.php
More file actions
92 lines (78 loc) · 1.76 KB
/
IStructure.php
File metadata and controls
92 lines (78 loc) · 1.76 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
/**
* This file is part of the Nette Framework (https://nette.org)
* Copyright (c) 2004 David Grudl (https://davidgrudl.com)
*/
namespace Nette\Database;
/**
* Provides cached reflection for database structure.
*/
interface IStructure
{
const
FIELD_TEXT = 'string',
FIELD_BINARY = 'bin',
FIELD_BOOL = 'bool',
FIELD_INTEGER = 'int',
FIELD_FLOAT = 'float',
FIELD_DATE = 'date',
FIELD_TIME = 'time',
FIELD_DATETIME = 'datetime',
FIELD_UNIX_TIMESTAMP = 'timestamp',
FIELD_TIME_INTERVAL = 'timeint';
/**
* Returns tables list.
* @return array
*/
function getTables();
/**
* Returns table columns list.
* @param string
* @return array
*/
function getColumns($table);
/**
* Returns table primary key.
* @param string
* @return string|array|NULL
*/
function getPrimaryKey($table);
/**
* Returns autoincrement primary key name.
* @param string
* @return string|NULL
*/
function getPrimaryAutoincrementKey($table);
/**
* Returns table primary key sequence.
* @param string
* @return string|NULL
*/
function getPrimaryKeySequence($table);
/**
* Returns hasMany reference.
* If a targetTable is not provided, returns references for all tables.
* @param string
* @param string|NULL
* @return array|NULL
*/
function getHasManyReference($table, $targetTable = NULL);
/**
* Returns belongsTo reference.
* If a column is not provided, returns references for all columns.
* @param string
* @param string|NULL
* @return array|NULL
*/
function getBelongsToReference($table, $column = NULL);
/**
* Rebuilds database structure cache.
* @return mixed
*/
function rebuild();
/**
* Returns true if database cached structure has been rebuilt.
* @return bool
*/
function isRebuilt();
}