1

我正在运行 djanog,我需要将我的数据库放在我想要连接的 vagrant 中。Apache 在我的本地电脑上运行。我应该如何在 vagrant 配置文件和 django 中的设置文件中设置端口转发,以便我可以连接到 vagrant 中的数据库。我当前的 django 数据库配置:

   DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',  # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
            'NAME': 'db_name',  # Or path to database file if using sqlite3.
            'USER': 'root',  # Not used with sqlite3.
            'PASSWORD': 'db_pass',  # Not used with sqlite3.
            'HOST': '',  # Set to empty string for localhost. Not used with sqlite3.
            'PORT': '',  # Set to empty string for default. Not used with sqlite3.
            'OPTIONS': {
                "init_command": "SET storage_engine=INNODB",
            }
        },

和流浪配置:

   config.vm.network :forwarded_port, guest: 80, host: 8080
   config.vm.network :forwarded_port, guest: 8000, host: 8001

谢谢

4

2 回答 2

2

您的网络调用应如下所示:

config.vm.network :forwarded_port, guest: [db port x, e.g. 3306 for MySQL], host: [unused host port y]

在您的 Django 配置中,将主机留空(默认为 localhost)并从上面指定相同的端口 y。VirtualBox 会将您的请求转发到 localhost:y 到 [guest]:x。

于 2013-07-23T18:27:27.867 回答
0

我以前试过这个,但那是很久以前的事了,所以这可能行不通。我正在运行一个lucid32安装了 postgres 和 django 的盒子。

对于数据库,您可以只使用数据库名称和安装它的端口。对我来说,安装 vagrant 并没有出现问题,因为我的数据库托管在127.0.0.1:5432我的 windows 配置上。我试过了,它也适用于 Vagrant。

您有不同的数据库和不同的配置,所以这可能行不通,但值得一试。

于 2013-07-23T13:26:05.590 回答