
Далее находится V2 Skygear, который стремится следовать
.
├── pkg
│ ├── server <-- original skygear-server code
│ ├── auth
│ ├── gateway
│ └── core
└── cmd
├── auth
│ └── main.go
└── gateway
└── main.go
Если вы столкнетесь с ошибкой сборки, выглядите как invalid flag in pkg-config --cflags: -Xpreprocessor , export CGO_CFLAGS_ALLOW=-Xpreprocessor .
Если вы планируете строить и работать локально, вам необходимо установить следующие зависимости.
Если вы находитесь на MacOS и пользователю HomeBrew, вы можете установить их
brew install pkgconfig vipsgateway для module .pkg/gateway/model/app.go с новым снаряжением в Gear , App и GetGearVersion .GetAppByDomain в pkg/gateway/db/app.go с новой столбцом версии Gear.Plan обновления struct и CanAccessGear func в pkg/gateway/model/plan.goGearURLConfig и Func GetGearURL в pkg/gateway/config/config.go Следующая часть посвящена миграции Gateway и Gears DB.
Если вы приехали из Skygear-Server от 0.x до 1.x, самая большая разница в том, что Gears in Skygear Next не поддержит миграцию Auto DB в время загрузки сервера.
Миграция БД должна выполняться до загрузки сервера. А поскольку у нас еще нет полного представленного инструмента управления DB для SkyGear, вот общее руководство для новых пользователей SkyGear.
Например, имя приложения - helloworld , и вы хотите запустить auth Gear.
# 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
См. Ниже разделам для получения дополнительных команд о миграции БД.
Добавить версию
# MODULE can be gateway, core, auth...
$ export MODULE= < module_name >
$ export REVISION= < revision_description >
$ make -C migrate add-version MODULE= ${MODULE} REVISION= ${REVISION}Проверьте текущую версию DB
$ make -C migrate
Сухой запустить миграцию
Транзакция будет отката
$ make -C migrate MIGRATE_CMD=up DRY_RUN=1
Запустите миграцию с источником 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
Запуск миграции БД во все приложения в кластере (мультитенантный режим)
Запустите ядро и аутовые миграции в приложения, которые версия Auth в прямом эфире
$ 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
Запуск миграционного сервера в режиме HTTP Server
$ make -C migrate http
Вызов сервера миграции
POST /migrate
Запросить пример
{
"migration" : " auth " ,
"schema" : " app_config " ,
"database" : " postgres://postgres:@localhost:5432/postgres?sslmode=disable " ,
"command" : " version "
}Пример ответа
{
"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.