Jean-Sébastien Herbaux a583d1b859
Fix/#3184/fix server crashs on database change (#5703)
* Don't set connection field on create/edit operation on content-types & components

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Make sure that every component has a valid connection attribute

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Remove connection check on components load

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Remove default connections from core & webhook stores but make sure it's defined in the application lifecycle

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Fix component's associations that can be undefined instead of empty in populateBareAssociations

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Remove "default" connection from plugins' models

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Remove connection attribute from generated models (cli)

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Mutate each component instead of reassign

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Build core_store and webhook model based on the current config

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Add connection to templates conditionally (based on args)

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Set default value for description to undefined instead of empty string

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Remove unnecessary complexity

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Update getStarted models

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Fix attributes parsing for generate:model

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Removed tpl option from generate:model/api

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>

* Remove tpl option from cli

Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>
2020-04-07 16:31:44 +02:00
..
2019-08-19 09:37:37 +02:00
2019-07-02 13:28:18 +02:00
2020-04-01 11:27:56 +02:00

getstarted

This is an example app you can run to test your changes quickly.

Requirements

  • Docker
  • Docker compose
  • Node

Installation

By default once you have setup the monorepo you will be able to run the getstarted app with a sqlite DB directly.

If you wish to run the getstarted app with another database you can use the docker-compose.dev.yml file at the root of the directory.

start the databases

Run the following command at the root of the monorepo

docker-compose -f docker-compose.dev.yml up -d

If you need to stop the running databases you can stop them with the following command:

docker-compose -f docker-compose.dev.yml stop

run the getstarted app with a specific database

DB={dbName} yarn develop

The way it works is that the getstarted app has a specific database.js config file that will use the DB environment variable to setup the right database connection. You can look at the code here

Warning

You might have some errors while connecting to the databases. They might be coming from a conflict between a locally running database instance and the docker instance. To avoid the errors either shutdown your local database instance or change the ports in the ./config/environments/development/database.js and the docker-compose.dev.yml file.

Example:

database.js

module.exports = {
  connections: {
    default: {
      connector: 'mongoose',
      settings: {
        // host: 'localhost',
        // database: 'strapi',
        // username: 'root',
        // password: 'strapi',
        port: 27099,
      },
      options: {},
    },
  },
};

docker-compose.dev.yml

services:
  mongo:
    # image: mongo
    # restart: always
    # environment:
    #   MONGO_INITDB_ROOT_USERNAME: root
    #   MONGO_INITDB_ROOT_PASSWORD: strapi
    # volumes:
    #   - mongodata:/data/db
    ports:
      - '27099:27017'