From 796318a319a065dd40d80a62015dd1a323575890 Mon Sep 17 00:00:00 2001 From: BillMills Date: Fri, 21 Jun 2019 13:38:27 -0400 Subject: [PATCH] mssql -> postgres --- bulletin-board-app/backend/db.js | 14 +++++++++----- bulletin-board-app/package.json | 4 +++- bulletin-board-db/Dockerfile | 11 +++-------- bulletin-board-db/init-db.sh | 12 ++++++++++-- bulletin-board-db/init-db.sql | 20 -------------------- 5 files changed, 25 insertions(+), 36 deletions(-) delete mode 100644 bulletin-board-db/init-db.sql diff --git a/bulletin-board-app/backend/db.js b/bulletin-board-app/backend/db.js index cb62262..4c75be2 100644 --- a/bulletin-board-app/backend/db.js +++ b/bulletin-board-app/backend/db.js @@ -1,13 +1,17 @@ var Sequelize = require('sequelize'); -var username = 'sa'; +var username = 'postgres'; var password = 'DockerCon!!!'; var host = 'bb-db'; -var dbName = 'BulletinBoard'; +var dbName = 'postgres'; var sequelize = new Sequelize(dbName, username, password, { - dialect: 'mssql', + dialect: 'postgres', host: host, - port: 1433, + port: 5432, + omitNull: true, + define: { + timestamps: false + }, dialectOptions: { requestTimeout: 30000 } @@ -31,4 +35,4 @@ var Event = sequelize.define('event', { Event.sync(); -exports.Events = Event; \ No newline at end of file +exports.Events = Event; diff --git a/bulletin-board-app/package.json b/bulletin-board-app/package.json index b4fc18b..728f589 100644 --- a/bulletin-board-app/package.json +++ b/bulletin-board-app/package.json @@ -14,7 +14,9 @@ "vue-resource": "^0.1.17", "tedious": "^2.0.1", "sequelize": "^4.20.1", - "prom-client": "^10.2.2" + "prom-client": "^10.2.2", + "pg": "^7.0.0", + "pg-hstore": "^2.3.3" }, "devDependencies": { "body-parser": "^1.14.1", diff --git a/bulletin-board-db/Dockerfile b/bulletin-board-db/Dockerfile index 16ff848..a9d5205 100644 --- a/bulletin-board-db/Dockerfile +++ b/bulletin-board-db/Dockerfile @@ -1,10 +1,5 @@ -FROM microsoft/mssql-server-linux:2017-CU1 +FROM postgres:9.6 -ENV ACCEPT_EULA=Y \ - MSSQL_SA_PASSWORD=DockerCon!!! +ENV POSTGRES_PASSWORD=DockerCon!!! -WORKDIR /init -COPY init-db.* ./ - -RUN chmod +x ./init-db.sh -RUN /opt/mssql/bin/sqlservr & ./init-db.sh \ No newline at end of file +COPY init-db.sh /docker-entrypoint-initdb.d/init-db.sh diff --git a/bulletin-board-db/init-db.sh b/bulletin-board-db/init-db.sh index 58db756..9fe020b 100644 --- a/bulletin-board-db/init-db.sh +++ b/bulletin-board-db/init-db.sh @@ -1,3 +1,11 @@ -sleep 30s +#!/bin/bash +set -e + +psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL + CREATE TABLE Events(Id SERIAL, Title TEXT, Detail TEXT, Date DATE); + INSERT INTO Events (Title, Detail, Date) VALUES + ('Docker for Beginners', 'Introduction to Docker using Node.js', '2017-11-21'), + ('Advanced Orchestration', 'Deep dive into Docker Swarm', '2017-12-25'), + ('Docker on Windows', 'From 101 to production', '2018-01-01'); +EOSQL -/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P DockerCon!!! -i init-db.sql \ No newline at end of file diff --git a/bulletin-board-db/init-db.sql b/bulletin-board-db/init-db.sql deleted file mode 100644 index 7ea5f58..0000000 --- a/bulletin-board-db/init-db.sql +++ /dev/null @@ -1,20 +0,0 @@ -CREATE DATABASE BulletinBoard; -GO - -USE BulletinBoard; - -CREATE TABLE Events ( - Id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, - Title NVARCHAR(50), - Detail NVARCHAR(200), - [Date] DATETIMEOFFSET, - CreatedAt DATETIMEOFFSET NOT NULL, - UpdatedAt DATETIMEOFFSET NOT NULL -); - -INSERT INTO Events (Title, Detail, [Date], CreatedAt, UpdatedAt) VALUES -(N'Docker for Beginners', N'Introduction to Docker using Node.js', '2017-11-21', GETDATE(), GETDATE()), -(N'Advanced Orchestration', N'Deep dive into Docker Swarm', '2017-12-25', GETDATE(), GETDATE()), -(N'Docker on Windows', N'From 101 to production', '2018-01-01', GETDATE(), GETDATE()); - -SELECT * FROM BulletinBoard.dbo.Events; \ No newline at end of file