loopbackio / loopbackio/loopback-next

Adding a new datasource not used make fail "npm run migrate" if models are given as property

Ouverte
#5,997 8 commentaires 1 réaction 1 personne assignée Voir sur GitHub

@hacksparrow y travaille déjà.

Depuis le 28/7/2020.

bug
Langage dominant
TypeScript
Étoiles
5.1k
Forks
1.1k
Merge moyen
2 j 21 h
PR mergées (30 j)
27

Description

## Steps to reproduce

1. Create multiple model with foreign key like in the documentation tutorial :
https://loopback.io/doc/en/lb4/todo-list-tutorial-sqldb.html#database-migration-using-npm-run-migrate-command
2. Update the `migrate.js` file with a `models` property to change the order of table creation (as writting in the tutorial)
![image](https://user-images.githubusercontent.com/60438474/88308917-eb0d2e80-cd0d-11ea-9a36-b94cdaa1bc76.png)
3. run `npm run build`
4. run `npm run migrate`

## Current Behavior
I get this error:
> **Cannot migrate database schema Error: Cannot migrate models not attached to this data source: User Status Logs Queue"**

## Expected Behavior

To migrate well.

## Additional information
* If I remove the "models" property + removing the foreign keys + run `npm run migrate` => **it's working.**
* If I remove the "models" property + I create the table without the foreign keys + run `npm run migrate`=> **it's working.**
* I have 3 different data sources declared in the project but only one is linked in the 4 repositories (It's a MySQL database connector)

**There is a screenshot of the behavior:**
At first, I run `npm run migrate` => everything goes well.
Second I add a new Mysql datasource and run `npm run migrate` again => it fail.

I suppose that it tries to migrate on all datasource instead of only the one referenced in the repositories.

![image](https://user-images.githubusercontent.com/60438474/88311450-2d843a80-cd11-11ea-8331-7143049d9de8.png)

## Related Issues
Maybe: https://github.com/strongloop/loopback-next/issues/3819 ?

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.