dblayer : Move unique fields in each SQL engine
bug dblayer : table name was alwas 'table' (missing $) adding quotes arround unique fields to support spaces git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@1438 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
This commit is contained in:
65
dblayer.php
65
dblayer.php
@@ -454,7 +454,7 @@ class dblayer extends PDO
|
||||
switch ($this->db->getAttribute(PDO::ATTR_DRIVER_NAME))
|
||||
{
|
||||
case "sqlite":
|
||||
$sql = "CREATE TABLE `table` (\n";
|
||||
$sql = "CREATE TABLE `$table` (\n";
|
||||
$i = 0;
|
||||
foreach ($fields as $field=>$params)
|
||||
{
|
||||
@@ -504,9 +504,24 @@ class dblayer extends PDO
|
||||
}
|
||||
$i ++;
|
||||
}
|
||||
// Unique fields
|
||||
if ($unique !== null)
|
||||
{
|
||||
foreach ($unique as $u)
|
||||
{
|
||||
$sql .= ",\n UNIQUE (`";
|
||||
if (is_array ($u))
|
||||
$sql .=implode ("`,`", $u);
|
||||
else
|
||||
$sql .= $u;
|
||||
$sql .="`)";
|
||||
}
|
||||
}
|
||||
// TODO : Foreign keys
|
||||
$sql .=")";
|
||||
break;
|
||||
case "mysql":
|
||||
$sql = "CREATE TABLE `table` (\n";
|
||||
$sql = "CREATE TABLE `$table` (\n";
|
||||
$i = 0;
|
||||
foreach ($fields as $field=>$params)
|
||||
{
|
||||
@@ -556,9 +571,24 @@ class dblayer extends PDO
|
||||
}
|
||||
$i ++;
|
||||
}
|
||||
// Unique fields
|
||||
if ($unique !== null)
|
||||
{
|
||||
foreach ($unique as $u)
|
||||
{
|
||||
$sql .= ",\n UNIQUE (`";
|
||||
if (is_array ($u))
|
||||
$sql .=implode ("`,`", $u);
|
||||
else
|
||||
$sql .= $u;
|
||||
$sql .="`)";
|
||||
}
|
||||
}
|
||||
// TODO : Foreign keys
|
||||
$sql .=")";
|
||||
break;
|
||||
case "pgsql":
|
||||
$sql = "CREATE TABLE \"table\" (\n";
|
||||
$sql = "CREATE TABLE \"$table\" (\n";
|
||||
$i = 0;
|
||||
foreach ($fields as $field=>$params)
|
||||
{
|
||||
@@ -612,25 +642,26 @@ class dblayer extends PDO
|
||||
}
|
||||
$i ++;
|
||||
}
|
||||
// Unique fields
|
||||
if ($unique !== null)
|
||||
{
|
||||
foreach ($unique as $u)
|
||||
{
|
||||
$sql .= ",\n UNIQUE (\"";
|
||||
if (is_array ($u))
|
||||
$sql .=implode ("\",\"", $u);
|
||||
else
|
||||
$sql .= $u;
|
||||
$sql .="\")";
|
||||
}
|
||||
}
|
||||
// TODO : Foreign keys
|
||||
$sql .=")";
|
||||
break;
|
||||
default:
|
||||
throw new Exception (_("PDO Engine not supported in dbLayer", 500));
|
||||
}
|
||||
|
||||
// Unique fields
|
||||
if ($unique !== null)
|
||||
{
|
||||
foreach ($unique as $u)
|
||||
{
|
||||
$sql .= ",\n UNIQUE (";
|
||||
if (is_array ($u))
|
||||
$sql .=implode (",", $u);
|
||||
else
|
||||
$sql .= $u;
|
||||
$sql .=")";
|
||||
}
|
||||
}
|
||||
$sql .=")";
|
||||
echo "$sql\n";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user