Added migration logic
This commit is contained in:
@@ -3,8 +3,10 @@ from cpl_core.configuration import ConfigurationABC
|
||||
from cpl_core.console import Console
|
||||
from cpl_core.dependency_injection import ServiceProviderABC
|
||||
from cpl_core.logging import LoggerABC
|
||||
|
||||
from gismo_core.abc.bot_service_abc import BotServiceABC
|
||||
from gismo_core.service.bot_service import BotService
|
||||
from gismo_data.service.migration_service import MigrationService
|
||||
|
||||
|
||||
class Gismo(ApplicationABC):
|
||||
@@ -14,12 +16,14 @@ class Gismo(ApplicationABC):
|
||||
|
||||
self._bot: BotService = services.get_service(BotServiceABC)
|
||||
self._logger: LoggerABC = services.get_service(LoggerABC)
|
||||
self._migrations: MigrationService = services.get_service(MigrationService)
|
||||
|
||||
async def configure(self):
|
||||
pass
|
||||
|
||||
async def main(self):
|
||||
try:
|
||||
self._migrations.migrate()
|
||||
self._logger.trace(__name__, f'Try to start {BotService}')
|
||||
await self._bot.start_async()
|
||||
except Exception as e:
|
||||
|
@@ -15,12 +15,17 @@ from gismo_core.abc.message_service_abc import MessageServiceABC
|
||||
from gismo_core.service.bot_service import BotService
|
||||
from gismo_core.service.message_service import MessageService
|
||||
from gismo_data.abc.known_user_repository_abc import KnownUserRepositoryABC
|
||||
from gismo_data.abc.migration_abc import MigrationABC
|
||||
from gismo_data.abc.server_repository_abc import ServerRepositoryABC
|
||||
from gismo_data.abc.user_repository_abc import UserRepositoryABC
|
||||
from gismo_data.db_context import DBContext
|
||||
from gismo_data.migration.initial_migration import InitialMigration
|
||||
from gismo_data.migration.migration_0_3 import Migration_0_3
|
||||
from gismo_data.service.client_repository_service import (
|
||||
ClientRepositoryABC, ClientRepositoryService)
|
||||
from gismo_data.service.known_user_repository_service import KnownUserRepositoryService
|
||||
from gismo_data.service.known_user_repository_service import \
|
||||
KnownUserRepositoryService
|
||||
from gismo_data.service.migration_service import MigrationService
|
||||
from gismo_data.service.server_repository_service import \
|
||||
ServerRepositoryService
|
||||
from gismo_data.service.user_repository_service import UserRepositoryService
|
||||
@@ -58,18 +63,28 @@ class Startup(StartupABC):
|
||||
|
||||
services.add_db_context(DBContext, self._config.get_configuration(DatabaseSettings))
|
||||
|
||||
# modules
|
||||
services.add_singleton(ModuleServiceABC, ModuleService)
|
||||
services.add_singleton(BotServiceABC, BotService)
|
||||
services.add_transient(MessageServiceABC, MessageService)
|
||||
|
||||
# services
|
||||
services.add_transient(MigrationService)
|
||||
|
||||
# data services
|
||||
services.add_transient(ServerRepositoryABC, ServerRepositoryService)
|
||||
services.add_transient(UserRepositoryABC, UserRepositoryService)
|
||||
services.add_transient(ClientRepositoryABC, ClientRepositoryService)
|
||||
services.add_transient(KnownUserRepositoryABC, KnownUserRepositoryService)
|
||||
|
||||
|
||||
# modules
|
||||
services.add_transient(ModuleABC, Database)
|
||||
services.add_transient(ModuleABC, Base)
|
||||
services.add_transient(ModuleABC, BootLog)
|
||||
|
||||
# migrations
|
||||
services.add_transient(MigrationABC, InitialMigration)
|
||||
services.add_transient(MigrationABC, Migration_0_3)
|
||||
|
||||
provider: ServiceProviderABC = services.build_service_provider()
|
||||
|
||||
|
Reference in New Issue
Block a user