-
Notifications
You must be signed in to change notification settings - Fork 1
/
grid.install
79 lines (72 loc) · 1.84 KB
/
grid.install
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
<?php
function grid_schema()
{
$core = grid_get_core();
$schema = $core->getDatabaseSchema();
$schema['grid_nodes']=array(
'description'=>t('references nodes'),
'fields'=>array(
'nid'=>array(
'description'=>t('node id'),
'type' => 'int',
'unsigned'=>true,
'not null'=>true,
),
'grid_id'=>array(
'description'=>t('grid id'),
'type'=>'int',
'size'=>'normal',
'unsigned'=>true,
'not null'=>true,
),
'langcode'=>array(
'description'=>t('language'),
'type'=>'varchar',
'length'=>12,
'not null'=>true,
),
),
'primary key'=>array('nid','langcode'),
'mysql_engine'=>'InnoDB',
);
return $schema;
}
function grid_install()
{
grid_get_core()->install();
}
function grid_uninstall()
{
grid_get_core()->uninstall();
}
function grid_update_8101($sandbox)
{
db_query("alter table {grid_nodes} add column langcode varchar(12);");
}
function grid_update_8102($sandbox)
{
$query=db_select("grid_nodes","gn");
$query->addJoin("INNER","node","n","n.nid=gn.nid");
$query->fields("n",array("nid","langcode"));
$results=$query->execute();
foreach($results as $result)
{
db_update('grid_nodes')
->fields(array('langcode'=>$result->langcode))
->condition('nid',$result->nid)
->execute();
}
}
function grid_update_8103($sandbox)
{
db_query("alter table {grid_nodes} drop primary key");
db_query("alter table {grid_nodes} add primary key(nid,langcode)");
}
function grid_update_8104($sandbox)
{
grid_get_core()->update();
}
function grid_update_8201($sandbox)
{
grid_get_core()->update();
}