def create(host='localhost', user='', password='', database_name='', driver='', port=3306, engine=DEFAULT_ENGINE, **kwargs): """Create the specified database. If it already exists, an exception of type weedb.DatabaseExists will be thrown.""" # Open up a connection w/o specifying the database. try: connect = MySQLdb.connect(host=host, user=user, passwd=password, port=int(port), **kwargs) set_engine(connect, engine) cursor = connect.cursor() # An exception will get thrown if the database already exists. try: # Now create the database. cursor.execute("CREATE DATABASE %s" % (database_name, )) except _mysql_exceptions.ProgrammingError: # The database already exists. Change the type of exception. raise weedb.DatabaseExists("Database %s already exists" % (database_name, )) finally: cursor.close() except _mysql_exceptions.OperationalError, e: raise weedb.OperationalError(e)
def create(database_name='', SQLITE_ROOT='', driver='', **argv): """Create the database specified by the db_dict. If it already exists, an exception of type DatabaseExists will be thrown.""" file_path = get_filepath(SQLITE_ROOT, database_name, **argv) # Check whether the database file exists: if os.path.exists(file_path): raise weedb.DatabaseExists("Database %s already exists" % (file_path,)) else: # If it doesn't exist, create the parent directories fileDirectory = os.path.dirname(file_path) if not os.path.exists(fileDirectory): os.makedirs(fileDirectory) timeout = to_int(argv.get('timeout', 5)) isolation_level = argv.get('isolation_level') connection = sqlite3.connect(file_path, timeout=timeout, isolation_level=isolation_level) connection.close()