|
1 | 1 | 'use strict'; |
2 | 2 |
|
3 | | -var fs = require('fs'); |
4 | 3 | var Sequelize = require('sequelize-cockroachdb'); |
5 | 4 |
|
6 | 5 | if (process.env.ADDR === undefined) { |
7 | 6 | throw new Error("ADDR (database URL) must be specified."); |
8 | 7 | } |
9 | 8 |
|
10 | | -var url = new URL(process.env.ADDR); |
11 | | -var opts = { |
12 | | - dialect: "postgres", |
13 | | - username: url.username, |
14 | | - host: url.hostname, |
15 | | - port: url.port, |
16 | | - database: url.pathname.substring(1), // ignore leading '/' |
17 | | - dialectOptions: { |
18 | | - cockroachdbTelemetryDisabled: true, |
19 | | - ssl: {}, |
20 | | - }, |
21 | | - logging: false, |
22 | | -}; |
23 | | - |
24 | | -if (url.password) { |
25 | | - opts.password = url.password |
26 | | -} |
27 | | -if (url.searchParams.has("options")) { |
28 | | - var pgOpts = url.searchParams.get("options") |
29 | | - var cluster = pgOpts.match(/cluster=([^\s]+)/)[1] |
30 | | - opts.database = `${cluster}.${opts.database}` |
31 | | -} |
32 | | -if (url.searchParams.get("sslmode") === "disable") { |
33 | | - delete opts.dialectOptions.ssl |
34 | | -} else { |
35 | | - if (url.searchParams.has("sslrootcert")) { |
36 | | - opts.dialectOptions.ssl.ca = fs.readFileSync(url.searchParams.get("sslrootcert").toString()) |
37 | | - } |
38 | | - if (url.searchParams.has("sslcert")) { |
39 | | - opts.dialectOptions.ssl.cert = fs.readFileSync(url.searchParams.get("sslcert").toString()) |
40 | | - } |
41 | | - if (url.searchParams.has("sslkey")) { |
42 | | - opts.dialectOptions.ssl.key = fs.readFileSync(url.searchParams.get("sslkey").toString()) |
43 | | - } |
44 | | -} |
45 | | -var sequelize = new Sequelize(opts); |
| 9 | +var sequelize = new Sequelize(process.env.ADDR, { |
| 10 | + dialectOptions: {cockroachdbTelemetryDisabled : true} |
| 11 | +}); |
46 | 12 | var DataTypes = Sequelize.DataTypes; |
47 | 13 |
|
48 | 14 | if (!Sequelize.supportsCockroachDB) { |
|
0 commit comments