Tag: sqlalchemy alembic

alembic – пример использования ресурса пакета как script_location

Я пытаюсь включить миграции Alembic как часть дистрибутива пакета python. Поскольку этот дистрибутив будет установлен, каталог сценариев Alembic (который содержит миграции) в конечном итоге будет скопирован в папки пакетов python. В этом случае, как я могу сказать Alembic, где найти этот каталог? В документации Alembic говорится, что каталог migration может быть указан в файле config.ini […]

как очистить незавершенный пробег

Я пытаюсь использовать alembic с движком MySQL для выполнения онлайн-миграций. Я обнаружил, что когда операция в моем методе onupgrade () завершилась неудачно, моя база данных застряла в несогласованном состоянии, и я не могу использовать alembic, пока я вручную не очистил все операции, которые произошли до сбоя onupgrade () Пример: def upgrade(): op.create_table('sometable', Column('id', INTEGER, primary_key=True), […]

Определение индексов в SqlAlchemy с Alembic

Я полностью согласен с тем, что это довольно простой вопрос, и может быть, у него есть ответ где-то, но я как-то не могу его найти. (также я не очень разбираюсь в SqlAlchemy) У меня есть этот код – from sqlalchemy import Column, Integer, Text, String, TIMESTAMP, Boolean, \ UnicodeText from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm […]

Использование ORM SQLAlchemy внутри миграции Alembic: как мне это сделать?

В настоящее время у меня есть столбец, содержащий разметку HTML. Внутри этой разметки есть метка времени, которую я хочу сохранить в новом столбце (поэтому я могу запросить его). Моя идея состояла в следующем: Создайте новый столбец с нулевым значением для данных Используйте ORM, чтобы отменить HTML, который мне нужен, чтобы разобрать Для каждой строки проанализируйте […]

Добавление соглашения об именах в существующую базу данных

Я использую sqlalchemy и пытаюсь интегрировать alembic для миграции баз данных. Моя база данных в настоящее время существует и имеет ряд ForeignKeys, определенных без имен. Я хотел бы добавить соглашение об именах, чтобы разрешить миграции, которые влияют на столбцы ForeignKey. Я добавил соглашение об именах, приведенное здесь, в верхней части моего файла models.py: SQLAlchemy Names […]

Alembic + Sqlalchemy Multi Column Уникальное ограничение

Я пытаюсь создать с использованием sqlalchemy уникальное ограничение нескольких столбцов, которое будет зачитано Alembic в его автоматическом скрипте сценария автоматического обновления. Я создал ограничение, используя: из import UniqueConstraint в моей модели UniqueConstraint('col1', 'col2', 'number', name='uix_table_col1_col2_col3') Однако это не подхвачено Alembic в его автоматическом создании сценариев. Я могу создать это вручную в сценарии Alembic, добавив его. […]

Alembic не добавляет информацию о каскаде в автогенератор?

Вот моя схема Budget class Budget(db.Model): __tablename__ = 'budgets' # noinspection PyRedeclaration uuid = Column('uuid', GUID(), default=uuid.uuid4, primary_key=True, unique=True) user_id = Column(GUID(), ForeignKey('users.uuid'), nullable=False) user = relationship('User', backref='budgets') created_on = Column('created_on', sa.types.DateTime(timezone=True), nullable=False) и BudgetCategories class BudgetCategory(db.Model): __tablename__ = 'budget_categories' # noinspection PyRedeclaration uuid = Column('uuid', GUID(), default=uuid.uuid4, primary_key=True, unique=True) budget_id = Column(GUID(), ForeignKey('budgets.uuid'), nullable=False) […]

Помогает ли alembic, как его файлы миграции вызывают?

Я просматриваю код, который написал коллега, и я заметил, что идентификатор миграции, содержащийся в файле миграции Alembic, не совпадает с именем файла, например, файл 18b6422c9d3f_some_migration.py содержит revision = 'c4218d61f026' Мой коллега не знает, как это произошло, и имена всех других файлов исправлений, похоже, совпадают с их идентификаторами ревизий. Для моего собственного здравого смысла я хотел […]

Поддержка 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, […]

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