Python django租户模式:将数据从共享模式迁移到多租户模式
如何使用django租户模式将数据从共享模式迁移到多租户模式 我们有一个saas,最初没有使用django租户模式,而是使用共享数据库、共享模式方法。我们现在发现了django租户模式,并认为这是正确的方法 现在的问题是如何将数据从单个Python django租户模式:将数据从共享模式迁移到多租户模式,python,django,django-models,multi-tenant,django-south,Python,Django,Django Models,Multi Tenant,Django South,如何使用django租户模式将数据从共享模式迁移到多租户模式 我们有一个saas,最初没有使用django租户模式,而是使用共享数据库、共享模式方法。我们现在发现了django租户模式,并认为这是正确的方法 现在的问题是如何将数据从单个public模式迁移到独立的租户模式 django租户模式文档说明如下: 注意:如果这是您第一次访问数据库,则数据库应为空 正在运行此命令 在我现有的应用程序中,我有一个租户表,所有其他模型都有ForeignKey,但所有内容都在公共模式中。我使用south迁移。
public
模式迁移到独立的租户模式
django租户模式
文档说明如下:
注意:如果这是您第一次访问数据库,则数据库应为空
正在运行此命令
在我现有的应用程序中,我有一个租户表,所有其他模型都有ForeignKey,但所有内容都在公共模式中。我使用
south
迁移。现在,我需要将所有这些租户数据迁移到单独的模式。如何做到这一点 这样做有一个诀窍。首先,您应该了解psql转储和加载命令
步骤:
public
schema中。使用pg_dump
命令将其转储到pgsql
文件。比如说database.pgsql
temp\u db
tenant\u xyz
tenant_xyz
转储到tenant_xyz.pgsql
tenant_xyz
模式转储加载到租户模式实现的数据库,比如postgres
postgres
数据库中可以使用已加载转储的租户的模式psql -U postgres -c "DROP DATABASE IF EXISTS temp_db"
psql -U postgres -c "CREATE DATABASE temp_db"
psql -U postgres temp_db < database.pgsql
psql -U postgres -d temp_db -c "ALTER SCHEMA public RENAME TO teanat_xyz"
pg_dump -U postgres -d temp_db -n tenant_xyz > tenant_xyz.pgsql
psql -U postgres -c "DROP DATABASE temp_db"
psql -U postgres -c "DROP SCHEMA IF EXISTS tenant_xyz CASCADE"
psql -U postgres postgres < tenant_xyz.pgsql
psql-U postgres-c“如果存在临时数据库,则删除数据库”
psql-U postgres-c“创建数据库临时数据库”
psql-U postgres temp_dbtenant_xyz.pgsql
psql-U postgres-c“删除数据库临时数据库”
psql-U postgres-c“如果存在租户xyz级联,则删除架构”
psql-U postgres postgres
您找到了这样做的方法吗?