AWVS database安装时数据库初始化出错,请大神指教下?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWVS database安装时数据库初始化出错,请大神指教下?相关的知识,希望对你有一定的参考价值。

AWVS database安装时数据库初始化出错,请大神指教下如何设置

可能你的postgressql在开启状态,把他关闭。如果是之前安装过awvs,卸载刚才装的awvs,重启电脑,然后重新安装即可。 参考技术A 执行C:\Program Files (x86)\Acunetix 11\unins000.exe卸载,然后重新安装 参考技术B 我是因为安装时修改了路径会跳出这个,不修改路径就安装成功 参考技术C 楼主解决了吗同样的问题 参考技术D 检查my.ini配置文件的两个路径是否配置正确

Django 测试:创建测试数据库时出错:数据库“database_name”已存在

【中文标题】Django 测试:创建测试数据库时出错:数据库“database_name”已存在【英文标题】:Django testing: Got an error creating the test database: database "database_name" already exists 【发布时间】:2019-09-05 05:00:47 【问题描述】:

我的测试有问题。这是我第一次编写测试,我遇到了一个问题。

我刚刚在我的应用程序userstest_urls.py 中创建了一个测试文件夹来测试网址。

当我输入时:

python manage.py test users

上面写着:

为别名“默认”创建测试数据库...创建时出错 测试数据库:数据库“database_name”已经存在

如果您想尝试删除测试数据库,请输入“是” 'database_name' 或 'no' 取消:

这是什么意思?如果我输入 yes 会发生什么?我会丢失数据库中的所有数据吗?

【问题讨论】:

【参考方案1】:

FWIW,如果您在使用 --keepdb 参数时收到此类警告,例如

python manage.py test --keepdb [appname]

那么这通常意味着Client 的多个实例被实例化,可能每个测试一个。解决方案是为测试类创建一个客户端,并在所有相应的方法中引用它,如下所示:

from djanog.test import TestCase, Client

class MyTest(TestCase):
    def setUp(self):
        self.client = Client()

    def test_one(self):
        response = self.client.get('/path/one/')
        # assertions

    def test_two(self):
        response = self.client.post('/path/two/', 'some': 'data')
        # assertions

您还可以(未经验证)使用setUpClass 类方法创建静态客户端。

【讨论】:

【参考方案2】:

在测试时,Django 会创建一个测试数据库来处理,这样您的开发数据库就不会受到污染。错误消息说 Django 正在尝试创建一个名为 "database_name" 的测试数据库,并且该数据库已经存在。您应该检查您正在使用的数据库软件的表,并检查database_name中的内容,它可能是错误创建的。

如果您键入 yes,数据库 database_name 将被删除,并且您不太可能能够恢复数据。因此,请先尝试了解发生了什么。

您应该在settings.py 中设置测试数据库的名称。在DATABASE 设置中有一个特定的TEST dictionary:

settings.py

...
DATABASES = 
    'default': 
        'ENGINE': 'django.db.backends.postgresql',
        'USER': 'mydatabaseuser',
        'NAME': 'mydatabase',
        'TEST': 
            'NAME': 'mytestdatabase',
        ,
    ,

...

默认情况下,前缀test_ 会添加到您的开发数据库的名称中。您应该检查您的settings.py 以了解发生了什么。

来自docs:

默认测试数据库名称是通过在DATABASES 中的每个NAME 的值前添加test_ 来创建的。使用 SQLite 时,测试将默认使用内存数据库(即,数据库将在内存中创建,完全绕过文件系统!)。 DATABASES 中的 TEST 字典提供了许多设置来配置您的测试数据库。例如,如果您想使用不同的数据库名称,请在 TEST 字典中为 DATABASES 中的任何给定数据库指定 NAME。

【讨论】:

以上是关于AWVS database安装时数据库初始化出错,请大神指教下?的主要内容,如果未能解决你的问题,请参考以下文章

尝试填充数据表时出错

无法使用omnibus安装gitlab:在资源'bash [migrate gitlab-rails database]上执行动作`run`时出错

AWVS安装与使用(最新版2022.12.27更新)

Django 测试:创建测试数据库时出错:数据库“database_name”已存在

比较Database Project的模式时出错

AWVS14.1安装