import subprocess

from django.db.backends.base.client import BaseDatabaseClient


class DatabaseClient(BaseDatabaseClient):
    executable_name = 'sqlite3'

    def runshell(self, parameters):
        # TODO: Remove str() when dropping support for PY37.
        # args parameter accepts path-like objects on Windows since Python 3.8.
        args = [self.executable_name,
                str(self.connection.settings_dict['NAME'])]
        args.extend(parameters)
        subprocess.run(args, check=True)