Browse Source

started database related things

master
mort 8 years ago
parent
commit
4be1436845
5 changed files with 71 additions and 4 deletions
  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 View File

@@ -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 View File

@@ -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 View File

@@ -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 View File

@@ -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 View File

@@ -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
)
);

Loading…
Cancel
Save