Ошибка создания тестовой базы данных Django: отказано в разрешении на создание вектора расширения
poetry run python manage.py test minigames.test.models
ответ в терминале:
The currently activated Python version 3.12.9 is not supported by the project (^3.13).
Trying to find and use a compatible version.
Using python3.13 (3.13.3)
Found 4 test(s).
Creating test database for alias 'default'...
Got an error creating the test database: database "test_aivector_db" already exists
Type 'yes' if you would like to try deleting the test database 'test_aivector_db', or 'no' to cancel:
Это постоянная проблема, с которой я сталкиваюсь, я уже назначил разрешение суперпользователя для этой базы данных, а также иногда этого не происходит (в основном это разрешается или прекращает запрос после того, как я меняю порт (с 5432 на 5431)), но когда я набираю yes, это выдает ошибку, что для создания векторного расширения требуется разрешение суперпользователя (оно уже создано в базе данных) но, насколько я понимаю, Django test создает тестовую базу данных отдельно, я не думаю, что тестовая база данных суперпользователя возможна, но из всех предыдущих попыток я понял, что это проблема с тем, что предыдущая тестовая база данных не удалялась, или я, возможно, совершенно не прав.
вот ошибка, которую я получаю, если набираю 'yes':
кроме того, мои настройки базы данных следующие:
DATABASE_URL=postgres://minidb:postgres@localhost:5432/aivector_db
---
# settings.py database settings
DATABASES = {
'default': dj_database_url.config(conn_health_checks=True, engine='dj_db_conn_pool.backends.postgresql'),
}
Примечание: нет, просто смена портов не имеет никакого значения, в прошлый раз это каким-то образом сработало, но на этот раз не работает. Кажется, я что-то упустил.
мы решили эту проблему, указав BYPASSRLS
и CREATDB
. Я не знаю, какой из них решил проблему.
еще одна вещь, которую я хочу добавить, это то, что при попытке устранить ее мне удалось избавиться от вышеуказанной ошибки и я получил ошибку подключения. Я думаю, что смена роли решила проблему с подключением, но я все еще полностью не понимаю, что решило проблему с вектором, потому что у db уже была ошибка подключения. роль суперпользователя.