大家好,小弟是前端,请教个问题。
我用 node 开发了个小项目 想打包给别人用。
但是对方是小白。我不可能让他去 跑 sql 创建数据库
就想问问大家一个正常可对外的项目 数据库创建是怎么做的呢(怎么友好创建呢)?
我用 node 开发了个小项目 想打包给别人用。
但是对方是小白。我不可能让他去 跑 sql 创建数据库
就想问问大家一个正常可对外的项目 数据库创建是怎么做的呢(怎么友好创建呢)?
|
JoooooooooMay 10, 2022
1
基建完善就去做好的后台创建, 没有的话你只能手动连数据库创建了呗.
|
|
renmuMay 10, 2022 via Android
2
sqlite 欢迎你
|
|
eason1874May 10, 2022
3
用文件数据库 SQLite ,项目内置一份创建 SQL 脚本,代码运行时获取数据库信息没有就通过脚本创建
|
|
sflypigMay 10, 2022
4
对外的项目这种 db init (包括建库、创建用户、建立索引等)的工作一般都是交给运维,运维给到开发就是一些个 r w 权限的账号可以去库里写数据。大部分运维其实也就是写脚本做的 db init ,所以你可以自己写 shell 脚本
|
|
ion1zeMay 10, 2022
5
我正在用的,很适合小的数据量不多的 node 项目: https://github.com/louischatriot/nedb/
|
|
v2ebMay 10, 2022 via Android
6
项目启动执行下查询语句,没有就建表,有就跳过🐒
|
|
sheetaMay 10, 2022
7
学一下 wordpress ,哈哈,傻瓜式操作
|
|
paradoxsMay 10, 2022
8
没看懂这是啥问题。 你给别人打包项目的时候,不打包数据库?
不过其实也行啊,数据库也是可以用代码动态创建的。 不过我还是建议你把数据库建好,给他实施部署的时候给他,把数据库一起打包进去啊。 |
|
XCFOXMay 10, 2022
9
nodejs 的 ORM 都是能在项目启动的时候自动建表的。
比如 TypeORM 把 synchronize 置为 true 。 这种方法是最友好的,但是不太安全。正经生产环境绝不会开 ORM 自动更新表结构。 就我个人的经验来看,nodejs 后端一般是先在本地或者测试服用 ORM 的自动建表功能建完了之后,用 DataGrip 或者手动 dump 把表结构导出成 SQL ,人眼过一遍,再找新的环境跑一遍,再把 SQL 部署到线上。真正对线上生产环境改动的 SQL 都是经过反复测试的。 具体到楼主这个小项目,我建议楼主要么开 ORM 自动更新,要么把运维的活也揽了。 |
|
gogogo1203May 10, 2022
10
写一个单独的 admin 管理程序, 把 migrate, drop, seed 都写进去。 自己开发的时候用也十分舒服
|
|
lowerMay 10, 2022
11
直接把全部应用程序、数据库都塞到 docker 镜像中,映射出需要的端口就行;
只需要给对方提供一行启动命令 |
|
documentzhangx66May 10, 2022
12
既然对方是小白,那就应该让对方把物理服务器,或虚拟机的 IP 、账号、连接方式都发给你,由你去操作建立。
|
|
kujioMay 11, 2022
13
sqllite 呀,数据不多,不频繁可以用 JSON 格式存文件。
项目配置比较麻烦的话还是上 docker ,小项目就算了 |
|
Rache1May 11, 2022
14
Laravel 中,「迁移」的概念就很不错
|
|
agagegaMay 11, 2022
15
要么传统 PHP 风格,运行时检测表,发现没有就提示用户创建;要么 Rails 风格,一堆迁移文件,数据库帐号密码设置好跑一个命令一次性设置好
|
|
kaedeairMay 11, 2022
16
1.用 sqlite 直接复制个初始数据库给他
2.用 docker-compose 初始化脚本扔到 /docker-entrypoint-initdb.d 里面,前后端打包成服务,用容器名解析 ip |
|
HuelseMay 11, 2022
17
可以考虑 docker
|
|
xooassMay 11, 2022
18
一堆 php 应用比如 discuz ,WordPress ,不都有一个安装界面让小白填一下数据库用户名和密码就自动安装了
|
|
Joker123456789May 11, 2022
19
都有数据库了,还想着运行在别人的本地? 弄个服务器部署一下 不好吗?
|
|
gen900May 11, 2022
20
我把整个 node pkg 成一个 exe ,额外增加了 setup 参数。写了个使用说明,第一次运行要 server.exe setup. 以后就直接运行 server.exe 就可以了
|
|
gen900May 11, 2022
21
给客户的越傻瓜越好
|
|
tuutooMay 11, 2022
22
把整个项目都包在一个 Docker 里发布
|
|
LinxingMay 11, 2022
23
写 migrate 用代码去控制
|