We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
项目刚开始时候我们通常需要在数据库里造一些初始化数据或者说种子数据(如管理员账号密码等)。通常有如下解决方案:
设置一个后台管理页面,提供可视化配置
直接在数据库中写入数据
提前定义好数据格式 ( 如 JSON / TXT 文件等),通过某种方式导入到数据库中
JSON
TXT
sql
利用 child_process 执行脚本,利用 mysql -e 执行命令
child_process
mysql -e
// initDB.js const { DB_NAME, DB_USERNAME, DB_PASSWORD, DB_PORT, DB_HOST, DB_CHARSET, DB_COLLATE } = getConfig(); // runCmd 是 child_process 的 spawan 封装后的函数 runCmd('mysql', [ `-h${DB_HOST}`, `-u${DB_USERNAME}`, `-p${DB_PASSWORD}`, `-P${DB_PORT}`, `-e DROP DATABASE IF EXISTS \`${DB_NAME}\`;`, // 先将数据库移除 `-e CREATE DATABASE \`${DB_NAME}\` DEFAULT CHARACTER SET ${DB_CHARSET} COLLATE ${DB_COLLATE};`, // 重新创建数据库 `-e USE \`${DB_NAME}\`;`, `-e SHOW DATABASES;`, `-e SOURCE \.\/scripts\/seed\.sql;`, // 导入种子数据 ])
然后在 package.json 中写入命令
package.json
{ "scripts": { "seed:dev": "cross-env NODE_ENV=development node scripts/initDB.js", "seed:prod": "cross-env NODE_ENV=production node scripts/initDB.js" } }
执行相关命令就可以方便修改数据了 ✌
The text was updated successfully, but these errors were encountered:
No branches or pull requests
一、如何设置 / 修改种子数据
项目刚开始时候我们通常需要在数据库里造一些初始化数据或者说种子数据(如管理员账号密码等)。通常有如下解决方案:
设置一个后台管理页面,提供可视化配置
直接在数据库中写入数据
提前定义好数据格式 ( 如
JSON
/TXT
文件等),通过某种方式导入到数据库中二、我的思考
三、我的解决方案
sql
文件,数据库迁移时候执行导入数据四、导入数据关键步骤
利用
child_process
执行脚本,利用mysql -e
执行命令然后在
package.json
中写入命令执行相关命令就可以方便修改数据了 ✌
The text was updated successfully, but these errors were encountered: