【发布时间】:2022-08-19 17:25:15
【问题描述】:
堆栈和环境
- 我将
NodeJS用于后端服务器,MySQL用于存储数据库。 - 我正在使用
MySQL Workbench来设计数据库模型。 - 使用 MySQL Workbench,我可以生成一个 \'.sql\' 脚本,其中包含我的数据库模型的所有查询。
如何使用 NodeJS 服务器将生成的 \'.sql\' 脚本执行到 MySQL 数据库中?
- 我已经按照这个在线教程Running SQL Queries from a ‘.sql’ file in NodeJS (SQLite)
尝试使用
SQLite package,但不幸的是没有运气,它一直抛出错误。
非常感谢任何建议,感谢您的帮助:)
generated-script.sql
-- MySQL Workbench Forward Engineering
-- MySQL Script generated by MySQL Workbench
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=\'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION\';
-- -----------------------------------------------------
-- Schema db_test
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema db_test
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `db_test` DEFAULT CHARACTER SET utf8 ;
USE `db_test` ;
-- -----------------------------------------------------
-- Table `assessment`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `assessment` (
`id` INT NOT NULL AUTO_INCREMENT,
`patient_id` INT NOT NULL,
`assessment_type` INT NOT NULL,
`timestamp` DATE NOT NULL,
PRIMARY KEY (`id`),
INDEX `assessment_patient_idx` (`patient_id` ASC) VISIBLE,
INDEX `assessment_type_idx` (`assessment_type` ASC) VISIBLE,
CONSTRAINT `assessment_patient`
FOREIGN KEY (`patient_id`)
REFERENCES `patient` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `assessment_type`
FOREIGN KEY (`assessment_type`)
REFERENCES `assessment_type` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `assessment_type`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `assessment_type` (
`id` INT NOT NULL,
`label` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `images`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `images` (
`id` INT NOT NULL,
`url` VARCHAR(250) NOT NULL,
`assessment_id` INT NOT NULL,
PRIMARY KEY (`id`),
INDEX `assessment_image_idx` (`assessment_id` ASC) VISIBLE,
CONSTRAINT `assessment_image`
FOREIGN KEY (`assessment_id`)
REFERENCES `assessment` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `patient`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `patient` (
`id` INT NOT NULL,
`username` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `username_UNIQUE` (`username` ASC) VISIBLE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `user`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `user` (
`id` INT NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `user_notes`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `user_notes` (
`id` INT NOT NULL,
`user_id` INT NOT NULL,
`assessment_id` INT NOT NULL,
`content` VARCHAR(600) NOT NULL,
PRIMARY KEY (`id`),
INDEX `user_note_assessment_idx` (`assessment_id` ASC) VISIBLE,
INDEX `user_note_user_idx` (`user_id` ASC) VISIBLE,
CONSTRAINT `user_note_user`
FOREIGN KEY (`user_id`)
REFERENCES `assessment_type` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `user_note_assessment`
FOREIGN KEY (`assessment_id`)
REFERENCES `assessment` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `users_patients`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `users_patients` (
`id` INT NOT NULL,
`patient_id` INT NOT NULL,
`user_id` INT NOT NULL,
PRIMARY KEY (`id`),
INDEX `users_patients_patient_idx` (`patient_id` ASC) VISIBLE,
INDEX `users_patients_user_idx` (`user_id` ASC) VISIBLE,
CONSTRAINT `users_patients_patient`
FOREIGN KEY (`patient_id`)
REFERENCES `patient` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `users_patients_user`
FOREIGN KEY (`user_id`)
REFERENCES `user` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
标签: mysql node.js database mysql-workbench