小编Jer*_*een的帖子

如何将JSON文件导入PostgreSQL?

例如,我有一个文件customers.json,它是一个对象数组(严格形成),并且它非常简单(没有嵌套对象),这样(重要的是:它已经包含了ids):

[
  {
    "id": 23635,
    "name": "Jerry Green",
    "comment": "Imported from facebook."
  },
  {
    "id": 23636,
    "name": "John Wayne",
    "comment": "Imported from facebook."
  }
]
Run Code Online (Sandbox Code Playgroud)

我想将它们全部导入我的postgres db到表中customers.

我发现了一些相当困难的方法,当我将它作为json类型的列导入到像其中列出的对象imported_json命名的表和列data,然后使用sql获取这些值并将其插入到真实的表中.

但有没有一种简单的方法导入json到postgres没有触及sql?

sql postgresql json

20
推荐指数
4
解决办法
3万
查看次数

如何使用 npm 脚本获取 shell 脚本?

我有一个脚本package.json

{
  "scripts": {
    "start": "source run-nvm.sh && ..."
  }
}
Run Code Online (Sandbox Code Playgroud)

但跑步source run-nvm.sh && ...yarn start(或npm run start)不同。

为什么?它创建了一个子shell。所以我不能改变原始 shell 的环境,我不能export为它常量或操纵它的状态nvm(我不能改变父 shell 的节点版本)

所以真正的问题

我可以通过不创建子shell来执行yarn/npm脚本吗?(并使用当前的外壳)

或者

如何使用 npm 脚本获取 shell 脚本?

最终,您可能会尝试通过询问以下问题来改变话语:“为什么不只是source run-nvm.sh && yarn start”但我不想只添加一些自定义脚本和复杂性,我希望它在yarn start/上自动执行npm start(自动更改节点版本)

真正的问题

它当前有效(脚本更改节点的版本并运行应用程序)但由于它是一个子shell,它不保存 nvm 的状态。因此,yarn start它最初使用默认版本,然后更改版本,然后启动应用程序,因此它yarn start为版本更改命令添加了约 3-4 秒。虽然它不应该每次都设置版本,但应该只设置一次,第一次。

shell node.js npm nvm yarnpkg

10
推荐指数
2
解决办法
1766
查看次数

标签 统计

json ×1

node.js ×1

npm ×1

nvm ×1

postgresql ×1

shell ×1

sql ×1

yarnpkg ×1