From e14de715f7ac2709f7fb6f34ad5c88a2687fa49b Mon Sep 17 00:00:00 2001 From: meanmail Date: Wed, 3 Mar 2021 21:04:54 +0700 Subject: [PATCH] Support for adding a column to the beginning of a table --- src/infi/clickhouse_orm/migrations.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/infi/clickhouse_orm/migrations.py b/src/infi/clickhouse_orm/migrations.py index c8c656a..6fea1c0 100644 --- a/src/infi/clickhouse_orm/migrations.py +++ b/src/infi/clickhouse_orm/migrations.py @@ -83,10 +83,12 @@ class AlterTable(ModelOperation): is_regular_field = not (field.materialized or field.alias) if name not in table_fields: logger.info(' Add column %s', name) - assert prev_name, 'Cannot add a column to the beginning of the table' cmd = 'ADD COLUMN %s %s' % (name, field.get_sql(db=database)) if is_regular_field: - cmd += ' AFTER %s' % prev_name + if prev_name is not None: + cmd += ' AFTER %s' % prev_name + else: + cmd += ' FIRST' self._alter_table(database, cmd) if is_regular_field: