
ถัดไปคือ 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 สำหรับ modulepkg/gateway/model/app.go พร้อมเกียร์ใหม่ใน Gear App และ GetGearVersionGetAppByDomain ใน pkg/gateway/db/app.go พร้อมคอลัมน์รุ่นเกียร์ใหม่Plan โครงสร้างและ CanAccessGear Func ใน pkg/gateway/model/plan.goGearURLConfig และ GetGearURL func ใน pkg/gateway/config/config.go ส่วนต่อไปนี้เป็นเรื่องเกี่ยวกับเกตเวย์และการโยกย้ายฐานข้อมูลเกียร์
หากคุณมาจาก SkyGear-Server 0.x ถึง 1.x ความแตกต่างที่ยิ่งใหญ่ที่สุดคือเกียร์ใน SkyGear ถัดไปจะไม่รองรับการโยกย้าย DB อัตโนมัติในเวลาบูตเซิร์ฟเวอร์
การโยกย้าย DB จะต้องทำงานก่อนที่เซิร์ฟเวอร์จะบูต และเนื่องจากเรายังไม่มีเครื่องมือจัดการ DB ที่โดดเด่นสำหรับ SkyGear แต่นี่เป็นคู่มือทั่วไปสำหรับผู้ใช้ SkyGear ใหม่ผู้ใช้ Next
ตัวอย่างเช่นชื่อแอพคือ 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
ดูส่วนด้านล่างสำหรับคำสั่งเพิ่มเติมเกี่ยวกับการโยกย้าย DB
เพิ่มเวอร์ชัน
# 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
เรียกใช้การโยกย้าย DB ไปยังแอพทั้งหมดในคลัสเตอร์ (โหมดผู้เช่าหลายคน)
เรียกใช้ Core และ Auth Migrations ไปยังแอพที่ Auth Version ใน 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
เริ่มเซิร์ฟเวอร์การโยกย้ายในโหมดเซิร์ฟเวอร์ HTTP
$ 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.