瀏覽代碼

HUE-3916 [core] Check more globally for MySql error code in is_db_alive command

Romain Rigaux 9 年之前
父節點
當前提交
062e0e3
共有 1 個文件被更改,包括 8 次插入6 次删除
  1. 8 6
      desktop/core/src/desktop/management/commands/is_db_alive.py

+ 8 - 6
desktop/core/src/desktop/management/commands/is_db_alive.py

@@ -74,20 +74,22 @@ class Command(NoArgsCommand):
     except ImproperlyConfigured: # Connector not found
       sys.exit(3)
     except OperationalError, e:
-      self.stdout.write('Error accessing DB: %s' % e)
+      self.stderr.write('Error accessing DB: %s' % e)
+      error = str(e)
+
       # MySql
-      if e.args[0] == 2005: # "Unknown MySQL server host 'laaaocalhost' (111)"
+      if '2005' in error: # "Unknown MySQL server host 'laaaocalhost' (111)"
         sys.exit(5)
-      elif e.args[0] == 2002: # Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
+      elif '2002' in error: # Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
         sys.exit(6)
-      elif e.args[0] == 1049: # "Unknown database 'huea'"
+      elif '1049' in error: # "Unknown database 'huea'"
         sys.exit(7)
-      elif e.args[0] == 1045: # "Access denied for user 'root'@'localhost' (using password: YES)"
+      elif '1045' in error: # "Access denied for user 'root'@'localhost' (using password: YES)"
         sys.exit(8)
       else: # Any connection error that we can't make sense of
         sys.exit(4)
     except Exception, e:
-      self.stdout.write('Error accessing DB: %s' % e)
+      self.stderr.write('Error accessing DB: %s' % e)
       error = str(e)
 
       # Oracle