我使用的是最新版本的sequelize,我的server/config/config.json
文件配置如下:
{
"development": {
"use_env_variable": "DATABASE_URL",
"dialect": "postgres"
},
"test": {
"use_env_variable": "DATABASE_TEST_URL",
"dialect": "postgres"
},
"production": {
"use_env_variable": "DATABASE_URL",
"dialect": "postgres"
}
}
我的.env文件配置如下:
DATABASE_URL = "MY database URL Here"
当我运行sequelize db:migrate
时,我得到以下内容:
- 解析url时出错:未定义 *
5条答案
按热度按时间owfi6suc1#
您没有定义变量$DATABASE_URL。
在终端中尝试此操作:
avwztpqn2#
我通过源代码找到了解决方案:配置文件是
.js
,而不是标准的.json
。文件
config/config.js
:您可以运行:
但它并没有像预期的那样工作,新型号被添加到数据库中,与笔记本电脑♂的用户名同名🤦,️我没有时间从来源中找出。
但是我发现了另一个sequelize-cli的解决方案,其中参数
--url
是一个键:8fsztsew3#
对于Windows用户
〉设置数据库URL=postgresql://[用户[:密码]@][网络位置][:端口][/数据库名称]
注意:将“export”更改为“SET”,在我这边工作
jdzmm42g4#
或者,当您要在终端中启动服务器时,请记住如下配置env
--环境测试
示例创建迁移
以上的npm脚本帮助我在开发环境中启动服务器
uurity8g5#
在
.sequelizerc
文件的顶部添加require("dotenv").config()
。您的
.env
可以类似于DATABASE_URL=MY database URL Here
。如果您没有
.sequelizerc
文件,请查看文档https://sequelize.org/docs/v6/other-topics/migrations/#the-sequelizerc-file。