浏览代码

started database related things

master
mort 8 年前
父节点
当前提交
4be1436845
共有 5 个文件被更改,包括 71 次插入4 次删除
  1. 3
    1
      package.json
  2. 30
    0
      scripts/reset.js
  3. 32
    0
      scripts/setup.js
  4. 3
    0
      sql/reset.sql
  5. 3
    3
      sql/setup.sql

+ 3
- 1
package.json 查看文件

@@ -5,7 +5,9 @@
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js"
"start": "node index.js",
"setup": "node scripts/setup.js",
"reset": "node scripts/reset.js"
},
"author": {
"name": "Martin Dørum Nygaard",

+ 30
- 0
scripts/reset.js 查看文件

@@ -0,0 +1,30 @@
var fs = require("fs");
var pg = require("pg");

var conf = JSON.parse(fs.readFileSync("./conf.json"));

var sql = fs.readFileSync("sql/reset.sql", "utf8");

var client = new pg.Client(
"postgres://"+
conf.db.user+":"+
conf.db.pass+"@"+
conf.db.host+"/"+
conf.db.database
);

client.connect(function(err) {
if (err) {
return console.log("Couldn't connect: "+err);
process.exit();
}

client.query(sql, function(err, res) {
if (err) {
console.log("Error running query: "+err);
} else {
console.log("Database reset.");
}
process.exit();
});
});

+ 32
- 0
scripts/setup.js 查看文件

@@ -0,0 +1,32 @@
var fs = require("fs");
var pg = require("pg");

var conf = JSON.parse(fs.readFileSync("./conf.json"));

var sql = fs.readFileSync("sql/setup.sql", "utf8");

var client = new pg.Client(
"postgres://"+
conf.db.user+":"+
conf.db.pass+"@"+
conf.db.host+"/"+
conf.db.database
);

client.connect(function(err) {
if (err) {
console.log("Couldn't connect: "+err);
console.log("Make sure that the database exists.");
process.exit();
}

client.query(sql, function(err, res) {
if (err) {
console.log("Error running query: "+err);
console.log("Make sure that the database is empty.");
} else {
console.log("Database set up.");
}
process.exit();
});
});

+ 3
- 0
sql/reset.sql 查看文件

@@ -0,0 +1,3 @@
DROP TABLE IF EXISTS users CASCADE;
DROP TABLE IF EXISTS collections CASCADE;
DROP TABLE IF EXISTS images CASCADE;

+ 3
- 3
sql/setup.sql 查看文件

@@ -3,14 +3,14 @@ CREATE TABLE users (
username VARCHAR(64) UNIQUE NOT NULL,
pass_hash CHAR(128) NOT NULL,
date_created TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT NOW()
)
);

CREATE TABLE collections (
id SERIAL PRIMARY KEY,
name VARCHAR(64),

user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE
)
);

CREATE TABLE images (
id SERIAL PRIMARY KEY,
@@ -19,4 +19,4 @@ CREATE TABLE images (
extension VARCHAR(16) NOT NULL,

collection_id INTEGER NOT NULL REFERENCES collections(id) ON DELETE CASCADE
)
);

正在加载...
取消
保存