首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >缺少必需的参数: dataSource

缺少必需的参数: dataSource
EN

Stack Overflow用户
提问于 2022-04-25 16:22:32
回答 1查看 3K关注 0票数 1

我尝试用typeorm 0.3.6生成迁移文件,我不知道为什么,但是在0.2.x版本中,它与命令一起工作

代码语言:javascript
运行
复制
npm run typeorm migration:generate -n <file name>

在最新版本中,我没有那么乱我自己,我得到了另一个到另一个错误,最后,我想我几乎完成了,但我继续错误

代码语言:javascript
运行
复制
Missing required argument: dataSource

这是我package.json中的脚本

代码语言:javascript
运行
复制
"scripts": {
    "server": "nodemon dist/index.js",
    "watch": "tsc -w",
    "test": "echo \"Error: no test specified\" && exit 1",
    "typeorm": "ts-node ./node_modules/typeorm/cli.js" 
  },

ormconfig.json

代码语言:javascript
运行
复制
{
    "type":"postgres",
    "host":"localhost",
    "port":5432,
    "username":"postgres",
    "password":"",
    "database":"test-deploy",
    "entities":["dist/entities/*.js"],
    "migrations":["dist/migrations/*.js"]
}

dataSource.ts

代码语言:javascript
运行
复制
export const dataSource = new DataSource({
    type:"postgres",
    username: process.env.PG_USERNAME_DEV,
    password: process.env.PG_PASSWORD_DEV,
    database: "memories",
    synchronize: false,
    logging: false,
    entities: [Admin,...],
    subscribers: [],
    migrations: [],
})
//For ApolloServer
export const resolvers : NonEmptyArray<Function> =[AdminResolver,...]

我的文件结构像这样

代码语言:javascript
运行
复制
server
 src
   ...
 dist
   data-source.js
   entities/myEntity.js

以及用于生成迁移的命令

代码语言:javascript
运行
复制
 npm run typeorm migration:generate -n initial -d dist/data-source.js

我是不是遗漏了什么?我怎么才能修好它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-13 02:15:32

在我的例子中,这不是必需的两个文件(omrconfig.json和datasource.ts)。

您可以解决此情况,然后创建一个文件ormconfig.ts

代码语言:javascript
运行
复制
const AppDataSource = new DataSource({
  type: 'mysql',
  host: 'localhost',
  port: 645664,
  username: 'test',
  password: 'test',
  database: 'oracli',
  synchronize: false,
  logging: true,
  "entities": [
      "src/typeorm/**/*.ts"
  ],
  "migrations": [
       "typeorm/migrations/**/*.ts"
  ],
  "subscribers": [
      "src/subscriber/**/*.ts"
  ],
});

export default AppDataSource;

在您可以使用scrtipts之后:

代码语言:javascript
运行
复制
"migrate:create": "typeorm migration:create \"./typeorm/migrations/",
"migrate:up": "ts-node --transpile-only ./node_modules/typeorm/cli.js migration:run -d ormconfig.ts",
"migrate:down": "ts-node --transpile-only ./node-modules/typeorm/cli.js migration:revert"

我使用的"typeorm": "^0.3.6"和我的文件结构如下:

代码语言:javascript
运行
复制
server
   typeorm
      migrations
   src
   ormconfig.ts
   package.json
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72002706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档