src/dirbs/schema_migrators/__init__.py
def upgrade(self, conn):
        """Interface for Python code responsible for a migrating to a particular schema.

        A migrator is passed a connection. It should never:
            1. Create a separate connection, as this would be committed even in the event that the migration
               fails.
            2. Try to parallelise, as this would require creating separate connections for each thread/process (see
               above)
        """
        raise NotImplementedError('upgrade() should be implemented in subclass')
Interface for Python code responsible for a migrating to a particular schema.

        A migrator is passed a connection. It should never:
            1. Create a separate connection, as this would be committed even in the event that the migration
               fails.
            2. Try to parallelise, as this would require creating separate connections for each thread/process (see
               above)
        
Interface for Python code responsible for a migrating to a particular schema.
A migrator is passed a connection. It should never:
1. Create a separate connection, as this would be committed even in the event that the migration
fails.
2. Try to parallelise, as this would require creating separate connections for each thread/process (see
above)
Interface for Python code responsible for a migrating to a particular schema . A migrator is passed a connection . It should never : 1 . Create a separate connection as this would be committed even in the event that the migration fails . 2 . Try to parallelise as this would require creating separate connections for each thread / process ( see above )
def upgrade(self, conn):
        raise NotImplementedError('upgrade() should be implemented in subclass')
def upgrade ( self , conn ) : raise NotImplementedError ( 'upgrade() should be implemented in subclass' )
Interface for Python code responsible for a migrating to a particular schema.
Interface for Python code responsible for a migrating to a particular schema .
"""Interface for Python code responsible for a migrating to a particular schema.

        A migrator is passed a connection. It should never:
            1. Create a separate connection, as this would be committed even in the event that the migration
               fails.
            2. Try to parallelise, as this would require creating separate connections for each thread/process (see
               above)
        """
self
conn