Как подключиться к базе данных снежинок из фреймворка Django

Я новичок в Django и пытаюсь отобразить результат, полученный из базы данных Snowflake. Я знаю, что Django имеет несколько встроенных серверных движков базы данных, например:django.db.backends.postgresql а также django.db.backends.mysql среди других он поддерживает.

К сожалению, я не смог найти правильный способ настройки серверной части базы данных в

settings.py

Когда я вхожу sqlalchemy или snowflake-sqlalchemy в качестве двигателя я получаю эту ошибку:

Try using 'django.db.backends.XXX', where XXX is one of:
'mysql', 'oracle', 'postgresql', 'sqlite3'

Я предполагал, что пойти с sqlalchemy поскольку это то, что я обычно использую для подключения к Snowflake за пределами Django, но по какой-то причине он не работает должным образом.

Буду признателен за любые рекомендации по этому поводу.

3 ответа

Обновление 2022 года: теперь есть серверная часть Snowflake для Django, финансируемая клиентами Snowflake и реализованная Тимом Грэмом из Django :

Из их документов:

Установка и использование

Используйте версию django-snowflake, соответствующую вашей версии Django. Например, чтобы получить последнюю версию, совместимую с Django 3.2.x:

      pip install django-snowflake==3.2.*

Младший номер версии Django не соответствует младшему номеру версии django-snowflake. Используйте последнюю дополнительную версию каждого из них.

Настройте параметр Django DATABASES следующим образом:

      DATABASES = {
    'default': {
        'ENGINE': 'django_snowflake',
        'NAME': 'MY_DATABASE',
        'SCHEMA': 'MY_SCHEME',
        'WAREHOUSE': 'MY_WAREHOUSE',
        'USER': 'my_user',
        'PASSWORD': 'my_password',
        'ACCOUNT': 'my_account',
    },
}

Некоторые обсуждения при его реализации:

Вам следует установить кастомный Snowflakeдвигатель понравился следующие. Обратите внимание, что на сегодняшний день они не завершены. Хотя реализовать недостающие Django функции, заполнив operations.pyфайл.

-> https://github.com/pricemoov/django-snowflake

или же

-> https://pypi.org/project/django-snowflake-backend/

please install snowflake-connector-python .E.g. below
pip3 install snowflake-connector-python==1.8.1
Here is the code to connect from SQL Alchemy.

=====================================================================
#!/usr/bin/env python
from snowflake.sqlalchemy import URL
from sqlalchemy import create_engine

engine = create_engine(URL(
    account = 'XXXX',
    user = 'XXXX',
    password = 'XXXXX',
    database = 'XXXXXX',
    schema = 'XXXXXX',
    warehouse = 'XXXXX',
    role='XXXXXXXX',
))




try:
    connection = engine.connect()
    connection.execute(
        "CREATE OR REPLACE TABLE test_async(c1 TIMESTAMP_NTZ,c2 VARIANT)",_no_results=True)



finally:
    connection.close()
    engine.dispose()

=========================================================================
Другие вопросы по тегам