微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Heroku(Express Server)进行部署时创建MySQL架构

假设我有以下server.js文件

server.js

var express = require('express');
var app = express();
var MysqL = require('MysqL');
var dbhelpers = require('./public/database_helpers.js')
var bodyParser = require('body-parser')



app.use(express.static(__dirname + '/public'));
app.use(express.static(__dirname + '/public/views'));
app.use(express.static(__dirname + '/public/controlers'));
app.use(express.static(__dirname + '/public/lib'));

app.use(bodyParser())


var connection = MysqL.createConnection({
   **Correct info**
});


connection.connect(function(err){
if(!err) {
    console.log("Database is connected ... \n\n");  
} else {
    console.log("Error connecting database ... \n\n");  
}
});


app.post('/signup',function(req,res){
  var newUser = req.body;


  connection.query('INSERT INTO users SET ?',newUser, function(err, rows,fields){
    if (!err){
      console.log("posted to database")
      res.sendStatus(200);
    } else{
      console.log('Error while performing Query.');
      res.sendStatus(500);
    }
  }); 
})

app.get('/artistsearch',dbhelpers.checkDbArtist)

app.post('/artistsearch', dbhelpers.insertDb)

app.post('/reviews',dbhelpers.insertReviewDb)


app.listen(process.env.PORT || 3000);

console.log("Listening at 3000")

我最近部署到heroku并使用了clearDB插件,因为我正在使用MysqL.日志表明我已经能够连接到数据库,但问题是我相信Heroku创建了一个数据库.如何在clearDB中创建以下模式:

schema.sql文件

CREATE TABLE users(
  users_id INT NOT NULL AUTO_INCREMENT,
  user_username VARCHAR(100) NOT NULL,
  user_password VARCHAR(40) NOT NULL,
  PRIMARY KEY ( users_id )
);

CREATE TABLE artist(
  artist_id INT NOT NULL AUTO_INCREMENT,
  artist_name VARCHAR(100) NOT NULL,
  artist_genre VARCHAR(100) NOT NULL,
  artist_imageurl VARCHAR(100) NOT NULL,
  artist_bio VARCHAR(1000) NOT NULL,
  PRIMARY KEY ( artist_id )
);

CREATE TABLE reviews (
  review_id INT NOT NULL AUTO_INCREMENT,
  user_name  VARCHAR(100) NOT NULL,
  venue VARCHAR(100) NOT NULL,
  number_of_stars INT NOT NULL,
  review_details VARCHAR(10000) NOT NULL,
  artist_id VARCHAR(100) NOT NULL,
  PRIMARY KEY ( review_id )
);

谁有任何想法?

解决方法:

首先,您应键入heroku config获取clearDB凭据.

然后,您可以从终端运行此命令:MysqL –host = us-cdbr-east.cleardb.com –user = xxxx –password = xxxx –reconnect heroku_xxxxxx< schema.sql文件

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐