0

在我的场景中,我需要为每个研讨会配置不同的数据库。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'default.sqlite3',
    },
    'ws1': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'ws1.sqlite3',
    },
    'ws2': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'ws3.sqlite3',
    }
}

研讨会集中在default数据库中(以及对这个用例不重要的其他信息),它们具有以下结构:

[
    {
        "name":"ws1",
        "database":"ws1.sqlite3"
    },
    {
        "name":"ws2",
        "database":"ws2.sqlite3"
    }
]

基于上述设置,用户可以选择他需要的 Workshop,我们(在幕后)将需要热切换数据库,以便 Models 将在ws1.sqlite3or中查询ws2.sqlite3

每个特定的 Workshop DB(例如:)ws1.sqlite3的结构如下:

-- ws1.datas
CREATE TABLE "datas"
(
    "id"    INTEGER,
    "value" REAL,
    "unixtimestamp" INTEGER
);

-- ws1.options
CREATE TABLE "options"
(
    "name" TEXT,
    "value" TEXT
);
4

0 回答 0