Я работал над django
, используя SQLite3
в качестве бэкэнда. Затем мы должны перенести все это в oracle
DB. У меня много проблем при попытке запустить pytest на схемах. Как я могу это сделать? Вот что я пробовал до сих пор:
добавлено в настройках каждой схемы:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': service_name,
'USER': username,
'PASSWORD': password,
'HOST': hostname,
'PORT': port,
'TEST': {
'TBLSPACE': 'name_tablespace'
},
'schema2': {
'ENGINE': 'django.db.backends.oracle',
'NAME': service_name,
'USER': username,
'PASSWORD': password,
'HOST': hostname,
'PORT': port,
'TEST': {
'TBLSPACE': 'name_tablespace'
},
'schema3': {
'ENGINE': 'django.db.backends.oracle',
'NAME': service_name,
'USER': username,
'PASSWORD': password,
'HOST': hostname,
'PORT': port,
'TEST': {
'TBLSPACE': 'name_tablespace'
}
},
затем я определил осветитель в тестовом файле, чтобы использовать схему в качестве тестовой базы данных:
@pytest.fixture(scope='session')
def django_db_setup():
settings.DATABASES['default'] = {
'ENGINE': 'django.db.backends.oracle',
'NAME': service_name,
'USER': username,
'PASSWORD': password,
'HOST': hostname,
'PORT': port,
'DEFAULT_TABLESPACE': 'tablespace_name'
},
Когда я запускаю pytest, тесты проходят, но в конце он сбрасывает базу данных. Как я могу указать tablespace
для теста вместо schema_db. Я не хочу терять какие-либо данные в БД от пользователей.
Я новичок в этом, Дайте мне знать, если это вообще не очень хорошая практика. Если нет, то как я могу проверить django с помощью схем оракула?
Любая помощь будет признательна. Спасибо!