# HG changeset patch # User Marcin Kuzminski # Date 2020-05-13 19:21:02 # Node ID cf6cf2b93ee91e8fc05c30c859a2940e839dcc47 # Parent 3d76bd1b9bd0a250c9e63ba0da5adffa463b3512 migrations: fixed db migrate for latest sqlite version. diff --git a/rhodecode/lib/dbmigrate/migrate/changeset/databases/sqlite.py b/rhodecode/lib/dbmigrate/migrate/changeset/databases/sqlite.py --- a/rhodecode/lib/dbmigrate/migrate/changeset/databases/sqlite.py +++ b/rhodecode/lib/dbmigrate/migrate/changeset/databases/sqlite.py @@ -12,7 +12,7 @@ from sqlalchemy.schema import UniqueCons from rhodecode.lib.dbmigrate.migrate import exceptions from rhodecode.lib.dbmigrate.migrate.changeset import ansisql - +import sqlite3 SQLiteSchemaGenerator = sa_base.SQLiteDDLCompiler @@ -73,10 +73,16 @@ class SQLiteHelper(SQLiteCommon): cons for cons in table.constraints if omit_uniques is None or cons.name not in omit_uniques ]) + tup = sqlite3.sqlite_version_info + if tup[0] > 3 or (tup[0] == 3 and tup[1] >= 26): + self.append('PRAGMA legacy_alter_table = ON') + self.execute() self.append('ALTER TABLE %s RENAME TO migration_tmp' % table_name) self.execute() - + if tup[0] > 3 or (tup[0] == 3 and tup[1] >= 26): + self.append('PRAGMA legacy_alter_table = OFF') + self.execute() insertion_string = self._modify_table(table, column, delta) table.create(bind=self.connection)