Это странная вещь, которую я не могу понять.
У меня есть две базы данных - тестовая и рабочая.
У меня есть два веб-сайта - тестовая и производственная.
Django использует эластичный поиск для индексации.
Они работают на разных серверах, имеют разные IP-адреса и т. Д.
Между двумя базами данных вообще нет связи.Они поддерживаются независимо.
Однако, когда я запускаю update_index
или rebuild_index
на производственном или тестовом сайте, индексы на обоих сайтах получают обновления.Две базы данных по-прежнему остаются независимыми, и данные там вообще не передаются.
Не имеет значения, запускаю ли я команду в тестовом или производственном режиме - обе будут обновляться из любого источника.
Это, очевидно, вызывает у меня много проблем, и я не могу это понять на всю жизнь.
ИСПЫТАТЕЛЬНАЯ БАЗА ДАННЫХ И ХЕЙСТАК -
DATABASES = {
"default": {
# Ends with "postgresql_psycopg2", "mysql", "sqlite3" or "oracle".
"ENGINE": "django.db.backends.oracle",
# DB name or path to database file if using sqlite3.
"NAME": "--",
# Not used with sqlite3.
"USER": "--",
# Not used with sqlite3.
"PASSWORD": "--",
# Set to empty string for localhost. Not used with sqlite3.
"HOST": <test-database>,
# Set to empty string for default. Not used with sqlite3.
"PORT": "--",
}
}
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://127.0.0.1:9200',
'INDEX_NAME': 'products_index'
}
}
ПРОИЗВОДСТВЕННАЯ БАЗА ДАННЫХ И СОЕДИНЕНИЕ С ХЕЙСТЕКОМ
DATABASES = {
"default": {
# Ends with "postgresql_psycopg2", "mysql", "sqlite3" or "oracle".
"ENGINE": "django.db.backends.oracle",
# DB name or path to database file if using sqlite3.
"NAME": "--",
# Not used with sqlite3.
"USER": "--",
# Not used with sqlite3.
"PASSWORD": "--",
# Set to empty string for localhost. Not used with sqlite3.
"HOST": "<production-database>",
# Set to empty string for default. Not used with sqlite3.
"PORT": "--",
}
}
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://127.0.0.1:9200/',
'INDEX_NAME': 'products_index',
},
}
Я рвал на себе волосы и, похоже, не могу найти, как они, возможно, общаются и обновляют друг друга!Кто-нибудь может мне помочь?