créer/supprimer de la base de données tâches pour les gulp/knex
J'ai un Express.js les applications web qui utilise Knex.js comme le SQL query builder et les migrations moteur.
Alors que Knex.js a des méthodes pour la création, la suppression et la modification des tables, il n'a pas de méthodes pour la création/suppression de la base de données elle-même.
Je me demandais si il existe une extension pour Knex.js ou même une gorgée de tâches qui vous permet de créer/supprimer une base de données. Je ne pouvais pas trouver tout.
Je suis à l'aide d'une base de données PostgreSQL.
- ne pourriez-vous pas utiliser le pilote de base de données? Par exemple, je suis en utilisant mssql, mnp mssql package est une dépendance de toute façon si juste de l'utiliser pour créer la base de données avant de connecter knex-t-il?
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr à propos de PostgreSQL, mais je l'ai frappé le même problème avec MySQL. J'ai découvert que vous pouvez utiliser knex pour se connecter sans avoir à sélectionner une base de données, créer la base de données avec SQL brut, puis reconnectez-la sélection de la nouvelle base de données.
Voici un script autonome qui crée une nouvelle base de données avec une seule colonne de table:
HTML:
Cela fonctionne (bien assez pour moi pour l'instant), mais je suis intéressé à entendre d'autres solutions.
Vous pouvez ajouter https://www.npmjs.org/package/gulp-shell
Cela devrait fonctionner:
JS:
Postgres va accepter la demande de la chaîne de connexion pour créer la base de données d'application.
env/développement
paquet.json
Puis exécutez
npm run-script db:create:development
.(Cela utilise le
env-cmd
package, mais il n'est pas nécessaire.)