selfprivacy-rest-api/selfprivacy_api/migrations/migration.py
2024-06-27 17:43:13 +03:00

29 lines
785 B
Python

from abc import ABC, abstractmethod
class Migration(ABC):
"""
Abstract Migration class
This class is used to define the structure of a migration
Migration has a function is_migration_needed() that returns True or False
Migration has a function migrate() that does the migration
Migration has a function get_migration_name() that returns the migration name
Migration has a function get_migration_description() that returns the migration description
"""
@abstractmethod
def get_migration_name(self) -> str:
pass
@abstractmethod
def get_migration_description(self) -> str:
pass
@abstractmethod
def is_migration_needed(self) -> bool:
pass
@abstractmethod
def migrate(self) -> None:
pass