Tag: sqlalchemy alembic

Поддержка Alembic для нескольких схем Postgres

Как я могу использовать –autogenerate Alembic для переноса нескольких схем Postgres, которые не жестко закодированы в модели SQL Alchemy? (зеркальный вопрос поддержки SQLAlchemy схем Postgres , но для Alembic). В частности, мы используем схемы Postgres для разделения разных клиентов, которые используют один и тот же набор таблиц. Кроме того, среди клиентов есть схема с общим […]

Alembic: Как перенести пользовательский тип в модель?

Моя модель User class User(UserMixin, db.Model): __tablename__ = 'users' # noinspection PyShadowingBuiltins uuid = Column('uuid', GUID(), default=uuid.uuid4, primary_key=True, unique=True) email = Column('email', String, nullable=False, unique=True) _password = Column('password', String, nullable=False) created_on = Column('created_on', sa.types.DateTime(timezone=True), default=datetime.utcnow()) last_login = Column('last_login', sa.types.DateTime(timezone=True), onupdate=datetime.utcnow()) по class User(UserMixin, db.Model): __tablename__ = 'users' # noinspection PyShadowingBuiltins uuid = Column('uuid', GUID(), default=uuid.uuid4, […]

Как использовать предложение USING в Alembic / SQLAchemy?

Я хотел бы изменить тип столбца базы данных из строки в целое, используя Alembic. Если я использую чистый SQL, он достигает цели: alter table statistic_ticket alter column tags type bigint using tags::bigint; Но когда я использую Alembic как: import sqlalchemy as sa def upgrade(): op.alter_column('statistic_ticket', 'tags', nullable = True, existing_type=sa.String(length=255), type_=sa.Integer, existing_nullable=True) У меня ошибка: […]

Alembic – sqlalchemy не обнаруживает существующие таблицы

Я задал вопрос ( начальная миграция Alembic – sqlalchemy ) о том, как определять таблицы, используя target_metadata = Base.metadata для alembic revision –autogenerate -m "initial migration" После того, как я импортировал свои модели в файл env.py, он работал нормально, но он не обнаруживает фактически существующие таблицы, поэтому он создает файл миграции со всеми таблицами, например: […]

Изменить первичный ключ в Alembic?

Я прочитал документы , но я не могу найти инструкции по этому поводу. Я попытался сбросить старый ключ и добавить новый, но это вызывает у меня ошибки: op.drop_constraint('PRIMARY', 'some_table', type_='primary') op.create_primary_key('PRIMARY', 'some_table', ['col1', 'col2']) sqlalchemy.exc.OperationalError: (OperationalError) (1025, "Error on rename of … (errno: 150 – Foreign key constraint is incorrectly formed)") 'ALTER TABLE some_table DROP […]

Alembic автоматически генерирует миграцию Flask-SQLAlchemy

Я использую Alembic для обработки миграции для Flask. alembic revision –autogenerate должен автогенерировать миграцию, основанную на изменениях в моей базе данных. Тем не менее, Alembic просто создает пустую миграцию с помощью указанной команды. Вопрос очень похож на этот , где проблема заключалась в том, что соответствующие модели не импортировались. Тем не менее, я импортировал модели […]

Alembic: alembic revision говорит об ошибке импорта

Я пытаюсь интегрировать свой проект Flask с Alembic Моя структура приложения выглядит project/ configuration/ __init__.py dev.py test.py core/ # all source code db/ migrations/ __init__.py alembic.ini env.py versions/ Когда я пытаюсь запустить следующее из каталога db , я вижу File "migration/env.py", line 55, in run_migrations_online from configuration import app, db ImportError: No module named configuration […]

Alembic: IntegrityError: «столбец содержит пустые значения» при добавлении столбца с нулевым значением

Я добавляю столбец в существующую таблицу. Этот новый столбец имеет nullable=False . op.add_column('mytable', sa.Column('mycolumn', sa.String(), nullable=False)) Когда я запускаю миграцию, она жалуется: sqlalchemy.exc.IntegrityError: column "mycolumn" contains null values

sqlalchemy: выполнение raw sql с привязками параметров

Я пытаюсь запустить этот простой raw sql-оператор с параметрами с SQLALchemy (внутри скрипта alembic): from alembic import op t = {"code": "123", "description": "one two three"} op.execute("insert into field_tags (id, field_id, code, description) "+ "values (1,'zasz', :code ,:description')", t) И я получаю следующую ошибку: sqlalchemy.exc.StatementError: A value is required for bind parameter 'description' (original cause: […]

Flask-SQLAlchemy Lower Case Index – пропуск функциональности, не поддерживаемый отражением SQLAlchemy

Прежде всего. Извините, если на это был дан ответ, но я не могу найти ответ нигде. Мне нужно определить индекс нижнего регистра для объекта Flask-SQLAlchemy. Проблема в том, что мне нужно, чтобы поля имени пользователя и электронной почты были сохранены в нижнем регистре, чтобы я мог проверить их с помощью User.query.filter(func.lower(username) == func.lower(username)).first() До сих […]

Python - лучший язык программирования в мире.