
Vient ensuite le V2 de Skygear qui vise à suivre
.
├── pkg
│ ├── server <-- original skygear-server code
│ ├── auth
│ ├── gateway
│ └── core
└── cmd
├── auth
│ └── main.go
└── gateway
└── main.go
Si vous rencontrez une erreur de construction, ressemblez à invalid flag in pkg-config --cflags: -Xpreprocessor , export CGO_CFLAGS_ALLOW=-Xpreprocessor .
Si vous prévoyez de construire et d'exécuter localement, vous devez installer les dépendances suivantes.
Si vous êtes sur macOS et l'utilisateur de Homebrew, vous pouvez les installer par
brew install pkgconfig vipsgateway pour module .pkg/gateway/model/app.go avec de nouveaux équipements en Gear , App et GetGearVersion .GetAppByDomain dans pkg/gateway/db/app.go avec la nouvelle colonne de version Gear.Plan Struct et CanAccessGear Func dans pkg/gateway/model/plan.goGearURLConfig et GetGearURL Func dans pkg/gateway/config/config.go La partie suivante concerne la migration DB de la passerelle et des engrenages.
Si vous venez de SkyGear-Server 0.x à 1.x, la plus grande différence est que les engrenages dans Skygear NEXT ne prendront pas en charge la migration de la base de données automatique dans le temps de démarrage du serveur.
La migration DB doit être exécutée avant le démarrage du serveur. Et comme nous n'avons pas encore un outil de gestion de DB complet complet pour Skygear, voici un guide général pour les nouveaux arrivants de Skygear Next User.
Par exemple, le nom de l'application est helloworld et vous souhaitez exécuter des équipements auth .
# Base app_config schema for core gateway
CREATE SCHEMA app_config;
# Create shared schema for apps
# Run the following SQL in any postgresql client, like Postico
CREATE SCHEMA app;
# If you have psql cli
$ psql ${DATABASE_URL} -c "CREATE SCHEMA app;"
# Run core and auth migration
$ make -C migrate migrate MIGRATE_CMD=up DATABASE_URL=${DATABASE_URL} SCHEMA=app
Voir les sections ci-dessous pour plus de commandes sur la migration DB.
Ajouter une version
# MODULE can be gateway, core, auth...
$ export MODULE= < module_name >
$ export REVISION= < revision_description >
$ make -C migrate add-version MODULE= ${MODULE} REVISION= ${REVISION}Vérifiez la version DB actuelle
$ make -C migrate
Sécheur, exécutez la migration
La transaction sera en retour
$ make -C migrate MIGRATE_CMD=up DRY_RUN=1
Exécutez la migration avec la source GitHub
$ make -C migrate migrate
CORE_SOURCE=github://:@skygeario/skygear-server/migrations/core#6918eed
AUTH_SOURCE=github://:@skygeario/skygear-server/migrations/auth#6918eed
MIGRATE_CMD=up
Exécution de la migration DB vers toutes les applications en cluster (mode multi-locataire)
Exécutez les migrations de noyau et d'authentique vers des applications qui ont une version autoritaire en live
$ make -C migrate migrate
APP_FILTER_KEY=auth_version
APP_FILTER_VALUE=live
CONFIG_DATABASE=postgres://postgres:@localhost/postgres?sslmode=disable
HOSTNAME_OVERRIDE=localhost
MIGRATE_CMD=up
Démarrer le serveur de migration en mode HTTP Server
$ make -C migrate http
Appeler le serveur de migration
POST /migrate
Demander un exemple
{
"migration" : " auth " ,
"schema" : " app_config " ,
"database" : " postgres://postgres:@localhost:5432/postgres?sslmode=disable " ,
"command" : " version "
}Exemple de réponse
{
"result" : " 1563434450 "
} Copyright (c) 2015-present, Oursky Ltd.
All rights reserved.
This source code is licensed under the Apache License version 2.0
found in the LICENSE file in the root directory of this source tree.
An additional grant of patent rights can be found in the PATENTS
file in the same directory.