如何通过 aws redshift 管理 django'orm?
Posted
技术标签:
【中文标题】如何通过 aws redshift 管理 django\'orm?【英文标题】:How to manage django'orm via aws redshift?如何通过 aws redshift 管理 django'orm? 【发布时间】:2018-04-18 08:58:39 【问题描述】:我是 AWS redshift 的新开发人员。
据我所知,AWS redshift 与 postgresql 非常相似
redshift 和 Django 之间是否有任何用于管理的库或模块(如自动迁移、自动迁移)?
我确实使用 SQLAlchemy 和 redshift 创建了一个表并访问了数据,但我不知道如何在 python Django 中做这件事。
任何建议或想法都可以!!
这个命令出现这个错误
python manage.py migrate
django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table (Column "django_migrations.id" has unsupported type "serial".
【问题讨论】:
【参考方案1】:您可以轻松地将 RedShift 服务与您的 Django 应用程序连接起来。
尝试将以下代码添加到您的settings.py
文件中
DATABASES =
'default':
'NAME': '[Your Cluster Name]',
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'USER': '[Username ]',
'PASSWORD': '[Password]',
'HOST': '[Pathname]',
'PORT': 5439,
,
但是,您需要知道 Redshift 不强制执行主键。在我看来,在 Django 应用程序中使用 Redshift 作为默认数据库并不是一个好主意,因为 Redshift 对数据仓库而不是应用程序很有帮助。
总结一下,我的建议是 PostgreSQL。
【讨论】:
我想知道的是,如果连接像你的建议,django'orm 将支持完整的功能,如 (python manage.py makemigrations...)...? @user3773632,当然可以。如果你像之前提到的那样连接你的数据库,你就可以访问所有 Django 的 ORM。以上是关于如何通过 aws redshift 管理 django'orm?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 AWS Quicksight 连接到 Redshift Spectrum 上的外部架构/表?