diff --git a/rattail_fabric2/mysql.py b/rattail_fabric2/mysql.py index dba8d6a..9e3e8e4 100644 --- a/rattail_fabric2/mysql.py +++ b/rattail_fabric2/mysql.py @@ -93,6 +93,16 @@ def grant_access(c, dbname, username): sql(c, 'grant all on `{}`.* to {}'.format(dbname, username)) +def table_exists(c, tblname, dbname): + """ + Determine if given table exists in given DB. + """ + # TODO: should avoid sql injection here... + query = "SELECT TABLE_NAME FROM TABLES WHERE TABLE_SCHEMA = '{}' AND TABLE_NAME = '{}'".format(dbname, tblname) + name = sql(c, query, database='information_schema').stdout.strip() + return name == tblname + + def sql(c, sql, database=''): """ Execute some SQL.