1 | ;
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | require("babel/polyfill");
|
8 |
|
9 | ;
|
10 |
|
11 | exports["default"] = function (api) {
|
12 |
|
13 | return {
|
14 |
|
15 | db: {
|
16 | version: function version() {
|
17 | return api.bookshelf.knex.migrate.currentVersion();
|
18 | },
|
19 |
|
20 | rollback: function rollback() {
|
21 | return api.bookshelf.knex.migrate.rollback();
|
22 | },
|
23 |
|
24 | migrate: {
|
25 | make: function make(name) {
|
26 | if (name == null) {
|
27 | return Promise.reject("The file name is required.");
|
28 | }
|
29 | return api.bookshelf.knex.migrate.make(name);
|
30 | },
|
31 | run: function run() {
|
32 | return api.bookshelf.knex.migrate.latest();
|
33 | }
|
34 | },
|
35 |
|
36 | seed: {
|
37 | make: function make(name) {
|
38 | if (name == null) {
|
39 | return Promise.reject("The file name is required.");
|
40 | }
|
41 | return api.bookshelf.knex.seed.make(name);
|
42 | },
|
43 | run: function run() {
|
44 | return api.bookshelf.knex.seed.run();
|
45 | }
|
46 | },
|
47 |
|
48 | create: function create() {
|
49 | var config, knex, sql;
|
50 | knex = api.bookshelf.knex;
|
51 | sql = "create database " + api.config.bookshelf.connection.database;
|
52 |
|
53 | switch (api.config.bookshelf.client) {
|
54 | case "sqlite":
|
55 | case "sqlite3":
|
56 | return Promise.resolve();
|
57 |
|
58 | case "pg":
|
59 | case "postgres":
|
60 | case "postgresql":
|
61 | sql += " template template0";
|
62 | config = JSON.parse(JSON.stringify(api.config.bookshelf));
|
63 | config.connection.database = "template1";
|
64 | return knex.destroy().then(function () {
|
65 | knex = require("knex")(config);
|
66 | return knex.raw(sql);
|
67 | });
|
68 |
|
69 | default:
|
70 | return knex.raw(sql).then(function () {
|
71 | return knex.destroy();
|
72 | });
|
73 | };
|
74 | },
|
75 |
|
76 | drop: function drop() {
|
77 | var config, knex, sql;
|
78 | knex = api.bookshelf.knex;
|
79 | sql = "drop database " + api.config.bookshelf.connection.database;
|
80 |
|
81 | switch (api.config.bookshelf.client) {
|
82 | case "sqlite":
|
83 | case "sqlite3":
|
84 | // TODO: remove file
|
85 | return Promise.resolve();
|
86 |
|
87 | case "pg":
|
88 | case "postgres":
|
89 | case "postgresql":
|
90 | config = JSON.parse(JSON.stringify(api.config.bookshelf));
|
91 | config.connection.database = "template1";
|
92 | return knex.destroy().then(function () {
|
93 | knex = require("knex")(config);
|
94 | return knex.raw(sql);
|
95 | });
|
96 |
|
97 | default:
|
98 | return knex.raw(sql).then(function () {
|
99 | return knex.destroy();
|
100 | });
|
101 | };
|
102 | }
|
103 | }
|
104 |
|
105 | };
|
106 | };
|
107 |
|
108 | ;
|
109 | module.exports = exports["default"];
|
110 | //# sourceMappingURL=data:application/json;base64,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anMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFwiYmFiZWwvcG9seWZpbGxcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oYXBpKSB7XG5cbiAgcmV0dXJuIHtcblxuICAgIGRiOiB7XG4gICAgICB2ZXJzaW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFwaS5ib29rc2hlbGYua25leC5taWdyYXRlLmN1cnJlbnRWZXJzaW9uKCk7XG4gICAgICB9LFxuXG5cbiAgICAgIHJvbGxiYWNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFwaS5ib29rc2hlbGYua25leC5taWdyYXRlLnJvbGxiYWNrKCk7XG4gICAgICB9LFxuXG5cbiAgICAgIG1pZ3JhdGU6IHtcbiAgICAgICAgbWFrZTogZnVuY3Rpb24obmFtZSkge1xuICAgICAgICAgIGlmIChuYW1lID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcIlRoZSBmaWxlIG5hbWUgaXMgcmVxdWlyZWQuXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYXBpLmJvb2tzaGVsZi5rbmV4Lm1pZ3JhdGUubWFrZShuYW1lKTtcbiAgICAgICAgfSxcbiAgICAgICAgcnVuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gYXBpLmJvb2tzaGVsZi5rbmV4Lm1pZ3JhdGUubGF0ZXN0KCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG5cblxuICAgICAgc2VlZDoge1xuICAgICAgICBtYWtlOiBmdW5jdGlvbihuYW1lKSB7XG4gICAgICAgICAgaWYgKG5hbWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFwiVGhlIGZpbGUgbmFtZSBpcyByZXF1aXJlZC5cIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBhcGkuYm9va3NoZWxmLmtuZXguc2VlZC5tYWtlKG5hbWUpO1xuICAgICAgICB9LFxuICAgICAgICBydW46IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBhcGkuYm9va3NoZWxmLmtuZXguc2VlZC5ydW4oKTtcbiAgICAgICAgfVxuICAgICAgfSxcblxuXG4gICAgICBjcmVhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgY29uZmlnLCBrbmV4LCBzcWw7XG4gICAgICAgIGtuZXggPSBhcGkuYm9va3NoZWxmLmtuZXg7XG4gICAgICAgIHNxbCA9IFwiY3JlYXRlIGRhdGFiYXNlIFwiICsgYXBpLmNvbmZpZy5ib29rc2hlbGYuY29ubmVjdGlvbi5kYXRhYmFzZTtcblxuICAgICAgICBzd2l0Y2ggKGFwaS5jb25maWcuYm9va3NoZWxmLmNsaWVudCkge1xuICAgICAgICBjYXNlIFwic3FsaXRlXCI6XG4gICAgICAgIGNhc2UgXCJzcWxpdGUzXCI6XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXG4gICAgICAgIGNhc2UgXCJwZ1wiOlxuICAgICAgICBjYXNlIFwicG9zdGdyZXNcIjpcbiAgICAgICAgY2FzZSBcInBvc3RncmVzcWxcIjpcbiAgICAgICAgICBzcWwgKz0gXCIgdGVtcGxhdGUgdGVtcGxhdGUwXCI7XG4gICAgICAgICAgY29uZmlnID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhcGkuY29uZmlnLmJvb2tzaGVsZikpO1xuICAgICAgICAgIGNvbmZpZy5jb25uZWN0aW9uLmRhdGFiYXNlID0gXCJ0ZW1wbGF0ZTFcIjtcbiAgICAgICAgICByZXR1cm4ga25leC5kZXN0cm95KCkudGhlbihmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGtuZXggPSByZXF1aXJlKFwia25leFwiKShjb25maWcpO1xuICAgICAgICAgICAgcmV0dXJuIGtuZXgucmF3KHNxbCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4ga25leC5yYXcoc3FsKS50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcmV0dXJuIGtuZXguZGVzdHJveSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgfSxcblxuXG4gICAgICBkcm9wOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGNvbmZpZywga25leCwgc3FsO1xuICAgICAgICBrbmV4ID0gYXBpLmJvb2tzaGVsZi5rbmV4O1xuICAgICAgICBzcWwgPSBcImRyb3AgZGF0YWJhc2UgXCIgKyBhcGkuY29uZmlnLmJvb2tzaGVsZi5jb25uZWN0aW9uLmRhdGFiYXNlO1xuXG4gICAgICAgIHN3aXRjaCAoYXBpLmNvbmZpZy5ib29rc2hlbGYuY2xpZW50KSB7XG4gICAgICAgIGNhc2UgXCJzcWxpdGVcIjpcbiAgICAgICAgY2FzZSBcInNxbGl0ZTNcIjpcbiAgICAgICAgICAvLyBUT0RPOiByZW1vdmUgZmlsZVxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblxuICAgICAgICBjYXNlIFwicGdcIjpcbiAgICAgICAgY2FzZSBcInBvc3RncmVzXCI6XG4gICAgICAgIGNhc2UgXCJwb3N0Z3Jlc3FsXCI6XG4gICAgICAgICAgY29uZmlnID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhcGkuY29uZmlnLmJvb2tzaGVsZikpO1xuICAgICAgICAgIGNvbmZpZy5jb25uZWN0aW9uLmRhdGFiYXNlID0gXCJ0ZW1wbGF0ZTFcIjtcbiAgICAgICAgICByZXR1cm4ga25leC5kZXN0cm95KCkudGhlbihmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGtuZXggPSByZXF1aXJlKFwia25leFwiKShjb25maWcpO1xuICAgICAgICAgICAgcmV0dXJuIGtuZXgucmF3KHNxbCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4ga25leC5yYXcoc3FsKS50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcmV0dXJuIGtuZXguZGVzdHJveSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICB9O1xufTtcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== |
\ | No newline at end of file |