summaryrefslogtreecommitdiffstats
path: root/system/database
diff options
context:
space:
mode:
authortino <tino@quadforce>2013-10-18 11:21:47 +0200
committerblowdoof <blowdoof@gmail.com>2013-10-18 15:50:17 +0200
commit6f52325abecad238b4c0a3097b0d849bf685adce (patch)
treeea13730ebb3112bef96c9e24534a79cc110f44c9 /system/database
parent508aa787c1203a42d1103617bba122e312bd5088 (diff)
Fix on sqlsrv_forge drop_table
Diffstat (limited to 'system/database')
-rw-r--r--system/database/drivers/sqlsrv/sqlsrv_forge.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/system/database/drivers/sqlsrv/sqlsrv_forge.php b/system/database/drivers/sqlsrv/sqlsrv_forge.php
index cc88ec5ca..d800c5074 100644
--- a/system/database/drivers/sqlsrv/sqlsrv_forge.php
+++ b/system/database/drivers/sqlsrv/sqlsrv_forge.php
@@ -60,7 +60,14 @@ class CI_DB_sqlsrv_forge extends CI_DB_forge {
*/
function _drop_table($table)
{
- return "DROP TABLE ".$this->db->_escape_identifiers($table);
+ $sql = '';
+ $sql = "IF (EXISTS (SELECT *
+ FROM INFORMATION_SCHEMA.TABLES
+ WHERE TABLE_SCHEMA = 'dbo'
+ AND TABLE_NAME = '";
+ $sql .= $this->db->_escape_identifiers($table)."')) DROP TABLE [dbo].[";
+ $sql .= $this->db->_escape_identifiers($table).']';
+ return $sql;
}
// --------------------------------------------------------------------