From 7bcf9b2fedaca4b0a7948b06daf2ff16f3fda2e3 Mon Sep 17 00:00:00 2001 From: long2ice Date: Sat, 3 Jul 2021 13:51:01 +0800 Subject: [PATCH] Support `drop column` for sqlite. (#40) --- CHANGELOG.md | 1 + aerich/cli.py | 1 + aerich/ddl/sqlite/__init__.py | 3 --- aerich/utils.py | 2 +- tests/test_ddl.py | 9 +-------- 5 files changed, 4 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5595cc..950d885 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Fix incorrect index creation order. (#151) - Not catch exception when import config. (#164) +- Support `drop column` for sqlite. (#40) ### 0.5.3 diff --git a/aerich/cli.py b/aerich/cli.py index 8b7c310..53bdf2b 100644 --- a/aerich/cli.py +++ b/aerich/cli.py @@ -23,6 +23,7 @@ from aerich.utils import ( get_version_content_from_file, write_version_file, ) + from . import __version__ from .enums import Color from .models import Aerich diff --git a/aerich/ddl/sqlite/__init__.py b/aerich/ddl/sqlite/__init__.py index 539c239..0ce1290 100644 --- a/aerich/ddl/sqlite/__init__.py +++ b/aerich/ddl/sqlite/__init__.py @@ -11,9 +11,6 @@ class SqliteDDL(BaseDDL): schema_generator_cls = SqliteSchemaGenerator DIALECT = SqliteSchemaGenerator.DIALECT - def drop_column(self, model: "Type[Model]", column_name: str): - raise NotSupportError("Drop column is unsupported in SQLite.") - def modify_column(self, model: "Type[Model]", field_object: dict, is_pk: bool = True): raise NotSupportError("Modify column is unsupported in SQLite.") diff --git a/aerich/utils.py b/aerich/utils.py index d56e5a2..461e17f 100644 --- a/aerich/utils.py +++ b/aerich/utils.py @@ -5,7 +5,7 @@ import sys from pathlib import Path from typing import Dict -from click import BadOptionUsage, Context, ClickException +from click import BadOptionUsage, ClickException, Context from tortoise import BaseDBAsyncClient, Tortoise diff --git a/tests/test_ddl.py b/tests/test_ddl.py index 722e147..9227161 100644 --- a/tests/test_ddl.py +++ b/tests/test_ddl.py @@ -1,9 +1,6 @@ -import pytest - from aerich.ddl.mysql import MysqlDDL from aerich.ddl.postgres import PostgresDDL from aerich.ddl.sqlite import SqliteDDL -from aerich.exceptions import NotSupportError from aerich.migrate import Migrate from tests.models import Category, Product, User @@ -144,11 +141,7 @@ def test_set_comment(): def test_drop_column(): - if isinstance(Migrate.ddl, SqliteDDL): - with pytest.raises(NotSupportError): - ret = Migrate.ddl.drop_column(Category, "name") - else: - ret = Migrate.ddl.drop_column(Category, "name") + ret = Migrate.ddl.drop_column(Category, "name") if isinstance(Migrate.ddl, MysqlDDL): assert ret == "ALTER TABLE `category` DROP COLUMN `name`" elif isinstance(Migrate.ddl, PostgresDDL):