繁体   English   中英

如何将初始数据放入数据库

[英]how to put initial data in db

我有一个包含大约 30,000 行数据的 csv 文件。

我需要将这些数据保存在我的应用程序的数据库中。

我不确定我应该采取什么方法来初始化这些数据。

我正在使用 postgresql 的 docker 映像。

我的想法是:

  1. 制作插入此数据的.sql文件,并在 docker 运行时执行此文件。
  2. 只需保留插入此数据的 docker 卷并在每次运行时挂载它。
  3. 其他方式……?

第一种方法非常通用,因为插入行是一项非常常见的任务,不会中断。 但缺点是我需要在每个 docker-run 中执行此操作。

我想第二种方法更快更有效......? 但是如果出于某种原因 postgres 更新版本或者我决定更改数据库,则卷可能不兼容。

有什么建议吗?

01,

只需在您的主机上安装一个卷并将数据库放在那里。 如果数据库不存在,那么它是由 Postgres Image 创建的。 在入口点过程中,您可以检查数据库是否为空,然后加载 30000 条记录。

您说这可能不是最佳解决方案,原因如下:

  1. 卷可能与 postgres 更新不兼容。 但这不会发生,因为 postgres 更新需要重建数据库的可能性很小。
  2. 你决定改变数据库是什么意思? 将数据库更改为 Mongo 或 MySQL? 在这种情况下,无论您选择哪种解决方案,您都需要更改代码。 除非您使用 ORM(NodeJS:Prisma,TypeORM?)这可能会使更改最小化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM