mirror of https://github.com/go-gorm/gorm.git
included actual sql query to discover fi foreign key with the same name exists in a specific table of the database in use (#1896)
This commit is contained in:
parent
a58b98acee
commit
82eb9f8a5b
|
@ -130,7 +130,14 @@ func (s mssql) RemoveIndex(tableName string, indexName string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s mssql) HasForeignKey(tableName string, foreignKeyName string) bool {
|
func (s mssql) HasForeignKey(tableName string, foreignKeyName string) bool {
|
||||||
return false
|
var count int
|
||||||
|
currentDatabase, tableName := currentDatabaseAndTable(&s, tableName)
|
||||||
|
s.db.QueryRow(`SELECT count(*)
|
||||||
|
FROM sys.foreign_keys as F inner join sys.tables as T on F.parent_object_id=T.object_id
|
||||||
|
inner join information_schema.tables as I on I.TABLE_NAME = T.name
|
||||||
|
WHERE F.name = ?
|
||||||
|
AND T.Name = ? AND I.TABLE_CATALOG = ?;`, foreignKeyName, tableName, currentDatabase).Scan(&count)
|
||||||
|
return count > 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s mssql) HasTable(tableName string) bool {
|
func (s mssql) HasTable(tableName string) bool {
|
||||||
|
|
Loading…
Reference in New Issue