Skip to content

Commit 9dbfb30

Browse files
committed
16-GraphQL Server + PostgreSQL Deployment to Heroku
1 parent 9ff0542 commit 9dbfb30

File tree

2 files changed

+20
-11
lines changed

2 files changed

+20
-11
lines changed

server/src/index.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,16 @@ const httpServer = http.createServer(app);
8282
server.installSubscriptionHandlers(httpServer);
8383

8484
const isTest = !!process.env.TEST_DATABASE;
85+
const isProduction = !!process.env.DATABASE_URL;
86+
const port = process.env.PORT || 8000;
8587

86-
sequelize.sync({ force: isTest }).then(async () => {
87-
if (isTest) {
88+
sequelize.sync({ force: isTest || isProduction }).then(async () => {
89+
if (isTest || isProduction) {
8890
createUsersWithMessages(new Date());
8991
}
9092

91-
httpServer.listen({ port: 8000 }, () => {
92-
console.log('Apollo Server on http://localhost:8000/graphql');
93+
httpServer.listen({ port }, () => {
94+
console.log(`Apollo Server on http://localhost:${port}/graphql`);
9395
});
9496
});
9597

server/src/models/index.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
import Sequelize from 'sequelize';
22

3-
const sequelize = new Sequelize(
4-
process.env.TEST_DATABASE || process.env.DATABASE,
5-
process.env.DATABASE_USER,
6-
process.env.DATABASE_PASSWORD,
7-
{
3+
let sequelize;
4+
if (process.env.DATABASE_URL) {
5+
sequelize = new Sequelize(process.env.DATABASE_URL, {
86
dialect: 'postgres',
9-
},
10-
);
7+
});
8+
} else {
9+
sequelize = new Sequelize(
10+
process.env.TEST_DATABASE || process.env.DATABASE,
11+
process.env.DATABASE_USER,
12+
process.env.DATABASE_PASSWORD,
13+
{
14+
dialect: 'postgres',
15+
},
16+
);
17+
}
1118

1219
const models = {
1320
User: sequelize.import('./user'),

0 commit comments

Comments
 (0)