170 похожих чатов

Подскажите как использовать alembic вместо Base.metadata.create_all() для тестов?

14 ответов

28 просмотров

sqlalchemy_url = 'sqlite://' + os.path.dirname(__file__).replace('/', '//') + '//test.db' os.environ['TASK_MANAGER_DB_URL'] = sqlalchemy_url alembicArgs = [ '--raiseerr', 'upgrade', 'head', ] alembic.config.main(argv=alembicArgs) и в env.py alembicа, что то типа такого: if os.environ.get("TASK_MANAGER_DB_URL"): config.set_main_option('sqlalchemy.url', os.environ['TASK_MANAGER_DB_URL']) else: section = config.config_ini_section config.set_section_option(section, "DB_PORT", os.environ.get("DB_PORT")) config.set_section_option(section, "DB_HOST", os.environ.get("DB_HOST")) config.set_section_option(section, "DB_USER", os.environ.get("DB_USER")) config.set_section_option(section, "DB_PASS", os.environ.get("DB_PASS"))

Andrey- Автор вопроса
Серж ИзТанзании
sqlalchemy_url = 'sqlite://' + os.path.dirname...

делаю вроде по аналогии: @pytest.fixture(scope='session', autouse=True) def apply_migrations(): import alembic.config os.chdir(Path(__file__).parent.parent) alembic.config.main(argv=['upgrade', 'head']) но выдаёт ошибку psycopg2.OperationalError: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL: database "postgres:postgrespw@127.0.0.1:55001/postgres" does not exist

так базу надо создать, я в тестах юзаю sqlite, там создание базы тривиальное :)

я не знаю как через pycharm к базе подключаться :) попробуй через питоновскую консоль. проверить sql пакетом питоновским, может быть какие то проблемы в пермишшионнах

Andrey- Автор вопроса
Серж ИзТанзании
так базу надо создать, я в тестах юзаю sqlite, там...

да и я сейчас пробовал пробовал sqlite использовать для миграций, 2 проходили, а дальше какие-то несвязанные логи, решил попробовать вот использовать postgres

Andrey- Автор вопроса
Максим Мартынов
Url покажи

postgresql:///postgres:postgrespw@localhost:55001/postgres

Andrey- Автор вопроса

Ну как бы alembic сгенерил миграции на основе postgres, с postgres они, собственно, работают. Но они же должны быть универсальными, ведь так, так?

Andrey
Ну как бы alembic сгенерил миграции на основе post...

Эта универсальность нужна в 0.001% случаев. Тебе точно это надо?

Andrey- Автор вопроса
Максим Мартынов
Эта универсальность нужна в 0.001% случаев. Тебе т...

да я потому и спрашиваю) в общем, прояснилось, всем спасибо за помощь)

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Здравствуйте. Задача состоит в том, чтобы сделать real-time чат в мобильном приложении. После передачи сообщения пользователем через веб-сокеты, для основного и долговременног...
🐾
5
Книга Юрова В.И пойдёт для обучения?
Botsman
24
Which companies do you think are innovating best in web design and design practices?
✌️(´ヮ`)
6
Карта сайта