diff --git a/src/dm/dm_mailbox.c b/src/dm/dm_mailbox.c index f1542b609..1dc0ffee2 100644 --- a/src/dm/dm_mailbox.c +++ b/src/dm/dm_mailbox.c @@ -6,7 +6,6 @@ #include "dm_core.h" #include "dm_mailbox_media.h" #include "dm_media_priv.h" -#include "dm_schema.h" #include "../utun_instance.h" #include "../ntp_time.h" #include "../routing_layer/etcp_router.h" @@ -352,7 +351,6 @@ fail: /* Новые таблицы протокола; прежний формат и диапазонные ACK не используются. */ int dm_mailbox_init(struct UTUN_INSTANCE* inst) { - if (dm_media_schema_init(inst)) return -1; if (!inst || !inst->topo_sqlite_db) { DEBUG_ERROR(DEBUG_CATEGORY_DM, "%s: init without core DB", MB_ID); return -1; } if (inst->dm_mailbox) return 0; struct dm_mb_state* mb = u_calloc(1, sizeof(*mb)); diff --git a/src/dm/dm_mailbox_media.c b/src/dm/dm_mailbox_media.c index 50c542342..70d974ea6 100644 --- a/src/dm/dm_mailbox_media.c +++ b/src/dm/dm_mailbox_media.c @@ -8,6 +8,7 @@ #include "../../lib/json_flat.h" #include "dm_media_priv.h" #include "dm_media_receipt.h" +#include "dm_schema.h" #include "dm_mailbox_media.h" #include "../utun_instance.h" #include "../ntp_time.h" @@ -374,6 +375,7 @@ static void dm_mailbox_media_tick(void* arg) { } struct dm_mb_media* dm_mailbox_media_create(struct UTUN_INSTANCE* inst) { + if (dm_media_schema_init(inst)) return NULL; if (dm_media_exec(inst, "CREATE TABLE IF NOT EXISTS dm_media_jobs(id BLOB PRIMARY KEY,author INTEGER NOT NULL," "recipient INTEGER NOT NULL,seq INTEGER NOT NULL,body BLOB,body_hash BLOB NOT NULL,group_id INTEGER NOT NULL," "holder INTEGER NOT NULL DEFAULT 0,stored INTEGER NOT NULL DEFAULT 0,expires INTEGER NOT NULL DEFAULT 0,"