diff --git a/tests/clickhouse_migrations/0001_initial.py b/tests/clickhouse_migrations/0001_initial.py index d9c0277..b534134 100644 --- a/tests/clickhouse_migrations/0001_initial.py +++ b/tests/clickhouse_migrations/0001_initial.py @@ -3,8 +3,13 @@ from django_clickhouse import migrations from tests.clickhouse_models import ClickHouseTestModel, ClickHouseCollapseTestModel +def python_exec(database): + pass + + class Migration(migrations.Migration): operations = [ migrations.CreateTable(ClickHouseTestModel), - migrations.CreateTable(ClickHouseCollapseTestModel) + migrations.CreateTable(ClickHouseCollapseTestModel), + migrations.RunPython(python_exec, hints={'force_migrate_on_databases': ['default']}) ] diff --git a/tests/test_migrations.py b/tests/test_migrations.py index 715bd22..c2e9154 100644 --- a/tests/test_migrations.py +++ b/tests/test_migrations.py @@ -1,5 +1,6 @@ from typing import List, Dict, Any from unittest import mock +from unittest.mock import patch from django.conf import settings from django.test import TestCase, override_settings @@ -7,6 +8,7 @@ from django.test import TestCase, override_settings from django_clickhouse.configuration import config from django_clickhouse.database import connections from django_clickhouse.management.commands.clickhouse_migrate import Command +from django_clickhouse.migration_operators import RunPython from django_clickhouse.migrations import MigrationHistory, migrate_app from django_clickhouse.routers import DefaultRouter from tests.clickhouse_models import ClickHouseTestModel @@ -59,6 +61,11 @@ class MigrateAppTest(TestCase): migrate_app('tests', 'readonly') self.assertFalse(table_exists(connections['readonly'], ClickHouseTestModel)) + @patch.object(RunPython, 'apply') + def test_hint_param(self, mock_python_exec): + migrate_app('tests', 'default') + self.assertEqual(1, mock_python_exec.call_count) + @override_settings(CLICKHOUSE_MIGRATE_WITH_DEFAULT_DB=False) @mock.patch('django_clickhouse.management.commands.clickhouse_migrate.migrate_app', return_value=True)