การอ้างอิงคำสั่ง Firebase CLI สำหรับ Data Connect

Firebase CLI เป็นเครื่องมือที่ช่วยให้คุณจัดการและกําหนดค่าผลิตภัณฑ์และบริการ Firebase จากบรรทัดคําสั่งได้

CLI มีคำสั่งที่ใช้ทำData Connectงานได้หลากหลาย เช่น การสร้างData Connectโปรเจ็กต์ใหม่ เริ่มต้นไดเรกทอรีทํางานในเครื่องที่เกี่ยวข้อง ตั้งค่าData Connectโปรแกรมจําลอง แสดงรายการData Connectทรัพยากร การสร้าง SDK ของไคลเอ็นต์ และอื่นๆ

คำสั่งการตั้งค่า

เพิ่ม Data Connect ไปยังโปรเจ็กต์ Firebase

firebase init

ใช้ firebase init เพื่อตั้งค่าการกําหนดค่าโปรเจ็กต์ในเครื่องใหม่ เวิร์กโฟลว์นี้จะสร้างหรืออัปเดตไฟล์การกําหนดค่า Firebase ในไดเรกทอรี

firebase init

ขั้นตอน firebase init จะแนะนำคุณในการตั้งค่าบริการและฐานข้อมูล ตลอดจนการติดตั้งโปรแกรมจำลอง Data Connect (ไม่บังคับ) และการกำหนดค่า SDK ที่สร้างขึ้น

การตั้งค่าบริการและฐานข้อมูล

หากเลือก dataconnect สำหรับการตั้งค่าผลิตภัณฑ์ CLI จะแจ้งให้คุณป้อนชื่อและตำแหน่งบริการใหม่ รวมถึงถามว่าต้องการลิงก์อินสแตนซ์ Cloud SQL for PostgreSQL ที่มีอยู่หรือสร้างอินสแตนซ์ใหม่

หากลิงก์อินสแตนซ์ที่มีอยู่ไว้แล้ว CLI จะตรวจสอบการตั้งค่าที่เข้ากันได้ เช่น การตรวจสอบสิทธิ์ IAM และที่อยู่ IP สาธารณะ

การตั้งค่า Local Emulator Suite

ขั้นตอน CLI จะเสนอให้ตั้งค่าโปรแกรมจำลอง ซึ่งรวมถึงโปรแกรมจำลอง Data Connect

Data Connect คำสั่งโปรแกรมจำลอง

เริ่มโปรแกรมจำลอง Data Connect

emulators:start/exec

firebase emulators:start/exec

ใช้โปรแกรมจำลอง Data Connect เวอร์ชัน Local Emulator Suite ในโหมดอินเทอร์แอกทีฟกับ start หรือโหมดที่ไม่ใช่อินเทอร์แอกทีฟซึ่งทำงานด้วยสคริปต์กับ exec

ส่งออกและนําเข้าข้อมูล PostgreSQL ในพื้นที่

หากต้องการรองรับการทดสอบการสร้างต้นแบบและทดสอบในเครื่อง และการผสานรวมอย่างต่อเนื่อง คุณสามารถส่งออกข้อมูลที่จัดเก็บไว้ในอินสแตนซ์ฐานข้อมูลในเครื่อง และนำเข้าระหว่างการพัฒนาซ้ำและการทดสอบ

ระบบจะจัดเก็บการส่งออกเป็นสแนปชอตของฐานข้อมูล PostgreSQL ในพื้นที่

Data Connect มี 3 วิธีในการส่งออก/นําเข้า ดังนี้

  • การส่งออก/นําเข้าอัตโนมัติที่กําหนดค่าไว้ใน firebase.json เพื่อจัดเตรียมการสํารองข้อมูลภาพรวมเมื่อปิดและเปิดเครื่องจําลอง
  • ส่งออก/นําเข้าด้วยตนเองโดยใช้ CLI
  • ส่งออก/นําเข้าด้วยตนเองโดยใช้อินเทอร์เฟซส่วนขยาย VS Code

การส่งออกและนําเข้าอัตโนมัติที่กําหนดค่าไว้ใน firebase.json

หากต้องการสํารองข้อมูลระหว่างเซสชันการพัฒนา ให้ระบุตำแหน่งสํารองข้อมูลอัตโนมัติในระหว่างลำดับ firebase init ระบบจะจัดเก็บตำแหน่งนี้ใน firebase.json ในช่อง emulators.dataconnect.dataDir การเปลี่ยนแปลงข้อมูลที่คุณทำจะบันทึกที่นี่โดยอัตโนมัติระหว่างการเรียกใช้โปรแกรมจำลอง จึงมีประโยชน์ในระหว่างการทดสอบและการสํารวจในเครื่อง

การส่งออกด้วยตนเอง: emulators:export และ emulators:start/exec --import

ขณะที่โปรแกรมจำลอง Data Connect ทำงานอยู่ ให้เรียกใช้คำสั่ง firebase emulators:export ในเทอร์มินัลแยกต่างหากเพื่อบันทึกภาพรวมของข้อมูล จากนั้นคุณสามารถเริ่มโปรแกรมจำลองจากสแนปชอตดังกล่าวได้โดยใช้แฟล็ก --import

# Export data from local emulator from a separate terminal
firebase emulators:export --only dataconnect <export_directory>

# Import data from local directory, here using emulators:exec
firebase emulators:exec ./<your-test-script>.sh --only dataconnect --import <import_directory>

การส่งออก/นําเข้าด้วยตนเอง: ส่วนขยาย VS Code

ใน UI ของส่วนขยาย VS Code ขณะที่โปรแกรมจำลองทํางานอยู่ ให้ใช้ปุ่มส่งออกข้อมูลโปรแกรมจำลองเพื่อส่งออกข้อมูลเพื่อส่งออกเนื้อหาฐานข้อมูลปัจจุบัน ตำแหน่งการส่งออกเริ่มต้นคือไดเรกทอรี exportedData ที่รูทของไดเรกทอรีโปรเจ็กต์

คุณสามารถนําเข้าข้อมูลนี้โดยใช้ CLI ตามที่อธิบายไว้ในส่วนก่อนหน้า นอกจากนี้ คุณยังนําเข้าข้อมูลนี้ก่อนเริ่มโปรแกรมจําลองผ่าน VS Code ได้โดยคลิกลิงก์กําหนดค่าโปรแกรมจําลองและตั้งค่าเส้นทางนําเข้า

คำสั่งการจัดการสคีมาและเครื่องมือเชื่อมต่อ

ส่วนนี้มีข้อมูลอ้างอิง CLI สําหรับคําสั่งที่คุณใช้จัดการสคีมาและตัวเชื่อมต่อ

ดูวิธีใช้กรณีการใช้งานและแนวทางปฏิบัติที่แนะนำเกี่ยวกับคําสั่งเหล่านี้ได้ที่คู่มือการจัดการสคีมาและเครื่องมือเชื่อมต่อ

ติดตั้งสคีมาและเครื่องมือเชื่อมต่อ

ทำให้ใช้งานได้

firebase deploy

คำสั่งนี้จะติดตั้งใช้งานทรัพยากรสำหรับบริการ Data Connect ที่จัดทำดัชนีใน firebase.json ระบบจะดำเนินการย้ายข้อมูลสคีมาและอัปเดตเครื่องมือเชื่อมต่อ หากจำเป็น

คำสั่ง คำอธิบาย

firebase deploy

แจ้ง คำอธิบาย

–-only dataconnect

ติดตั้งสคีมาและตัวเชื่อมต่อสําหรับบริการเชื่อมต่อข้อมูลทั้งหมดสําหรับโปรเจ็กต์นี้ แต่อย่าติดตั้งแหล่งข้อมูลผลิตภัณฑ์ Firebase อื่นๆ

–-only dataconnect:serviceId

ติดตั้งสคีมาและเครื่องมือเชื่อมต่อสําหรับบริการ Data Connect ที่ระบุ

–-only dataconnect:serviceId:connectorId

ติดตั้งใช้งานเครื่องมือเชื่อมต่อเดียวสําหรับบริการ Data Connect ที่ระบุ

–-only dataconnect:serviceId:schema

ติดตั้งใช้งานสคีมาสำหรับบริการ Data Connect ที่ระบุ

การใช้ Flag –-only จะช่วยให้คุณส่งค่าที่คั่นด้วยคอมมาเพื่อติดตั้งใช้งานชุดย่อยของทรัพยากรที่ต้องการได้

firebase deploy --only dataconnect:service1:schema,dataconnect:service2

แสดงรายการบริการสคีมา และเครื่องมือเชื่อมต่อข้อมูลของ Data Connect

dataconnect:services:list

firebase dataconnect:services:list

คำสั่งนี้จะพิมพ์ข้อมูลพื้นฐานเกี่ยวกับบริการ สคีมา และคอนเน็กเตอร์ที่ติดตั้งใช้งานในโปรเจ็กต์

เปรียบเทียบและย้ายสคีมา SQL

เมื่อคุณเรียกใช้ firebase deploy ทาง CLI จะทำการเปรียบเทียบสคีมา SQL ก่อนทำให้การอัปเดตใช้งานได้ นอกจากนี้ คุณยังทำการเปรียบเทียบและอัปเดตได้โดยตรงด้วยชุดคำสั่ง dataconnect:sql

dataconnect:sql:diff

firebase dataconnect:sql:diff

คำสั่งนี้จะเปรียบเทียบสคีมาภายในสำหรับบริการกับสคีมาปัจจุบันของฐานข้อมูล Cloud SQL ที่เกี่ยวข้อง ซึ่งจะแสดงคำสั่งที่จะเรียกใช้เพื่อย้ายข้อมูลฐานข้อมูลไปยังสคีมาใหม่

คำสั่ง คำอธิบาย

firebase dataconnect:sql:diff

Flag/Parameter คำอธิบาย

serviceId

ระบุบริการ หากไม่ระบุ ระบบจะพิมพ์ความแตกต่างของบริการทั้งหมดใน firebase.json

dataconnect:sql:migrate

firebase dataconnect:sql:migrate

คำสั่งนี้จะนําการเปลี่ยนแปลงสคีมาภายในไปใช้กับฐานข้อมูล Cloud SQL ของบริการ

เมื่อคุณตั้งค่าโปรเจ็กต์ Data Connect ใหม่ในเครื่องโดยใช้ไฟล์ dataconnect.yaml เริ่มต้น ลักษณะการทํางานของคําสั่ง dataconnect:sql:migrate คือการแจ้งให้คุณทราบถึงการเปลี่ยนแปลงที่จําเป็น จากนั้นจะแจ้งให้คุณทราบถึงการเปลี่ยนแปลงที่ไม่บังคับก่อนดําเนินการเปลี่ยนแปลง คุณสามารถแก้ไขลักษณะการทํางานนี้ให้รวมหรือละเว้นการเปลี่ยนแปลงที่ไม่บังคับได้เสมอโดยการอัปเดตการกําหนดค่า dataconnect.yaml ตามที่อธิบายไว้ในย้ายสคีมาในโหมดที่เข้มงวดหรือเข้ากันได้

ในสภาพแวดล้อมแบบอินเทอร์แอกทีฟ CLI จะแสดงคำสั่ง SQL สำหรับการย้ายข้อมูลแต่ละรายการ (และระบุว่าเป็นคำสั่งแบบทำลายหรือไม่) และแจ้งให้ป้อนการเปลี่ยนแปลงที่ต้องการใช้ การส่ง Flag --force เทียบเท่ากับการยอมรับพรอมต์ทั้งหมด

ในสภาพแวดล้อมแบบไม่โต้ตอบ

  • หากไม่มี --force ระบบจะทำการเปลี่ยนแปลงที่ไม่ทำลายข้อมูลเท่านั้น หากมีการเปลี่ยนแปลงที่ทำลายล้าง CLI จะหยุดดำเนินการโดยไม่มีการเปลี่ยนแปลง
  • เมื่อใช้ --force ระบบจะทำการเปลี่ยนแปลงทั้งหมด หากมีการเปลี่ยนแปลงที่ลบล้างข้อมูล ระบบจะพิมพ์การเปลี่ยนแปลงดังกล่าวและแจ้งให้คุณทราบว่าต้องการดำเนินการต่อหรือไม่ เว้นแต่จะมีการระบุ Flag --force
คำสั่ง คำอธิบาย

firebase dataconnect:sql:migrate

แจ้ง คำอธิบาย

serviceId

ย้ายข้อมูลฐานข้อมูลของบริการที่ระบุ ระบบจะอนุมาน serviceId หากโปรเจ็กต์มีบริการเพียงบริการเดียว

–-force

ตอบกลับพรอมต์โดยอัตโนมัติ

คุณสามารถระบุบริการหลายรายการโดยคั่นด้วยคอมมาได้ เช่นเดียวกับ Flag --only อื่นๆ

ย้ายข้อมูลสคีมาในโหมดจำกัดหรือโหมดที่เข้ากันได้

การย้ายข้อมูลสคีมา Data Connect มีโหมดการตรวจสอบสคีมา 2 โหมด ได้แก่ เข้มงวดและเข้ากันได้ การตรวจสอบในโหมดที่เข้มงวดกำหนดให้สคีมาฐานข้อมูลต้องตรงกับสคีมาแอปพลิเคชันทุกประการก่อนจึงจะติดตั้งสคีมาแอปพลิเคชันได้ การตรวจสอบโหมดที่เข้ากันได้กำหนดให้สคีมาฐานข้อมูลต้องเข้ากันได้กับสคีมาแอปพลิเคชัน ซึ่งหมายความว่าองค์ประกอบในฐานข้อมูลที่สคีมาแอปพลิเคชันไม่ได้ใช้จะไม่มีการแก้ไข

โหมดการตรวจสอบสคีมาและแนวทางปฏิบัติแนะนำสำหรับการย้ายข้อมูลสคีมาเหล่านี้จะอยู่ในคู่มือการจัดการสคีมาและคอนเน็กเตอร์

โหมดการตรวจสอบจะกำหนดโดยใช้คีย์ schemaValidation ในไฟล์ dataconnect.yaml หากไม่ได้ระบุ schemaValidation CLI จะใช้การเปลี่ยนแปลงที่เข้ากันได้และแจ้งให้คุณทราบก่อนทำการเปลี่ยนแปลงที่เข้มงวด ดูข้อมูลอ้างอิงการกําหนดค่า

จัดการการเปลี่ยนแปลงในเครื่องมือเชื่อมต่อ

เมื่อคุณเรียกใช้ firebase deploy CLI จะเริ่มต้นการอัปเดตตัวเชื่อมต่อที่เกี่ยวข้อง CLI จะวิเคราะห์การเปลี่ยนแปลงในคอนเน็กเตอร์แต่ละรายการ และแสดงชุดข้อความการประเมินเกี่ยวกับการเปลี่ยนแปลงคอนเน็กเตอร์ที่อาจทําให้โค้ดไคลเอ็นต์เวอร์ชันเก่าทํางานผิดปกติ (ข้อความเป็นระดับคําเตือน) หรือทําให้โค้ดใช้งานไม่ได้ (ข้อความเป็นระดับการหยุดทํางาน)

การประเมินผลกระทบ สถานการณ์
ระดับคำเตือน (ใช้สายได้ อาจเปลี่ยนลักษณะการทำงาน)
  • การนำฟิลด์ที่อนุญาตค่า Null ออกจากการค้นหาโดยไม่มีคำอธิบายประกอบ @retired
ระดับการหยุดทำงาน (สายไฟที่ใช้ร่วมกันไม่ได้ อาจทำให้ไคลเอ็นต์ใช้งานไม่ได้)
  • การเปลี่ยนตัวแปรที่อนุญาตค่า Null เป็นค่าที่ไม่ใช่ Null โดยไม่มีค่าเริ่มต้น
  • การเปลี่ยนประเภทข้อมูลของฟิลด์ให้ใช้ร่วมกับ JSON ได้ (เช่น Int เป็น Float)
  • การเปลี่ยนคอลัมน์ที่ไม่ใช่ค่า Null เป็นคอลัมน์ที่เว้นว่างได้
  • การนำตัวแปรที่อนุญาตค่า Null ออกโดยไม่มีคำอธิบายประกอบ @retired
  • การนำตัวแปรที่ไม่ใช่ค่า Null ที่มีค่าเริ่มต้นออกโดยไม่มีคำอธิบายประกอบ @retired
ระดับการหยุดทำงาน (สายไฟที่ใช้ร่วมกันไม่ได้ จะหยุดการทำงานของไคลเอ็นต์)
  • การนำการดำเนินการที่ไม่มีคำอธิบายประกอบ @retired ออก
  • การนำฟิลด์ที่ไม่ใช่ค่า Null ออกจากการค้นหาโดยไม่มีคำอธิบายประกอบ @retired
  • การเพิ่มตัวแปรที่ไม่ใช่ค่า Null ที่ไม่มีค่าเริ่มต้น
  • การเปลี่ยนประเภทข้อมูลของฟิลด์เป็นประเภทที่ไม่เข้ากันได้ (เช่น String เป็น Int)
  • การนำตัวแปรที่ไม่ใช่ค่า Null ออกโดยไม่มีค่าเริ่มต้นและไม่มีคำอธิบายประกอบ @retired

ในสภาพแวดล้อมแบบอินเทอร์แอกทีฟ CLI จะแสดงการประเมินของคอนเน็กเตอร์แต่ละรายการและแจ้งให้คุณทราบถึงการเปลี่ยนแปลงที่ต้องการใช้ การส่งผ่าน Flag --force เทียบเท่ากับการยอมรับการประเมินทั้งหมด

ในสภาพแวดล้อมที่ไม่ใช่แบบอินเทอร์แอกทีฟ

  • หากมีการประเมินระดับคำเตือนเท่านั้น (การเปลี่ยนแปลงลักษณะการทำงานที่เป็นไปได้) ระบบจะติดตั้งใช้งานตัวเชื่อมต่อทั้งหมดและบันทึกคำเตือนลงในเทอร์มินัล
  • หากมีการประเมินระดับการหยุดทำงาน ระบบจะไม่ติดตั้งใช้งานตัวเชื่อมต่อและจะบันทึกคำเตือนไว้ในเทอร์มินัล คุณสามารถลบล้างได้ด้วย Flag --force

รหัสการให้สิทธิ์ตรวจสอบ

Data Connect ช่วยคุณตรวจสอบกลยุทธ์การให้สิทธิ์โดยการวิเคราะห์โค้ดของเครื่องมือเชื่อมต่อเมื่อคุณติดตั้งใช้งานในเซิร์ฟเวอร์โดยใช้ firebase deploy จาก Firebase CLI คุณสามารถใช้การตรวจสอบนี้เพื่อช่วยตรวจสอบโค้ดเบสได้

เมื่อคุณติดตั้งใช้งานตัวเชื่อมต่อ CLI จะแสดงผลการประเมินสําหรับโค้ดการดําเนินการที่มีอยู่ แก้ไขแล้ว และใหม่ในตัวเชื่อมต่อ

สําหรับการดําเนินการแบบแก้ไขและใหม่ CLI จะแสดงคําเตือนและแจ้งให้คุณยืนยันเมื่อคุณใช้ระดับการเข้าถึงบางอย่างในการดําเนินการใหม่ หรือเมื่อคุณแก้ไขการดําเนินการที่มีอยู่เพื่อใช้ระดับการเข้าถึงเหล่านั้น

คำเตือนและข้อความแจ้งจะปรากฏขึ้นเสมอสำหรับรายการต่อไปนี้

  • PUBLIC

และคำเตือนและข้อความแจ้งจะปรากฏในระดับการเข้าถึงต่อไปนี้เมื่อคุณไม่ได้เพิ่มระดับการเข้าถึงด้วยตัวกรองโดยใช้ auth.uid

  • USER
  • USER_ANON
  • USER_EMAIL_VERIFIED

ดูข้อมูลเพิ่มเติมเกี่ยวกับการให้สิทธิ์ได้ที่คู่มือการให้สิทธิ์และการรับรอง

คำสั่ง SDK

สร้าง SDK

dataconnect:sdk:generate

firebase dataconnect:sdk:generate

คำสั่งนี้จะสร้าง SDK ที่มีประเภทซึ่งประกาศไว้ใน connector.yaml

นอกจากนี้ โปรดดูคําแนะนําสําหรับการใช้ SDK เว็บ, SDK ของ Android และ SDK ของ iOS

คำสั่ง คำอธิบาย

firebase dataconnect:sdk:generate

แจ้ง คำอธิบาย

–-watch

ดำเนินการต่อและสร้าง SDK ใหม่ทุกครั้งที่คุณบันทึกการเปลี่ยนแปลงสคีมาและไฟล์ GQL ของคอนเน็กเตอร์

หากการสร้างไม่สำเร็จ ระบบจะพิมพ์ข้อผิดพลาดไปยัง stdout โค้ดที่สร้างขึ้นจะไม่มีการเปลี่ยนแปลง และระบบจะเรียกใช้คำสั่งต่อไป

–-only connectorId:platform

สร้าง SDK สําหรับแพลตฟอร์มและตัวเชื่อมต่อเดียวเท่านั้น

คุณสามารถใช้ Flag –only เพื่อส่งค่าที่คั่นด้วยคอมมา

firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin

คำสั่งการจัดการ Cloud SQL

ให้บทบาท SQL สำหรับ Cloud SQL

Data Connect ทำงานบนอินสแตนซ์ PostgreSQL ของคุณเองที่โฮสต์ใน Cloud SQL คำสั่งบทบาท SQL ช่วยให้คุณจัดการสิทธิ์ในตารางฐานข้อมูลได้

dataconnect:sql:setup

firebase dataconnect:sql:setup

คำสั่งนี้จะกำหนดค่าสิทธิ์ระดับองค์กรเริ่มต้นให้กับตารางในฐานข้อมูล

เวิร์กโฟลว์การจัดสรรและการจัดการฐานข้อมูลเริ่มต้นจะถือว่าโปรเจ็กต์ของคุณใช้ฐานข้อมูลใหม่ (Greenfield) และเมื่อคุณเรียกใช้ firebase deploy Data Connect จะแสดงการเปลี่ยนแปลงสคีมาฐานข้อมูลที่ต้องทำและทำการย้ายข้อมูลหลังจากที่คุณอนุมัติ หากต้องการใช้ขั้นตอนนี้ dataconnect:sql:setup จะแจ้งให้คุณให้สิทธิ์ ซึ่งรวมถึงสิทธิ์การเป็นเจ้าของสคีมาของ superuser

สำหรับฐานข้อมูลที่ใช้งานอยู่ (ระบบเดิม) คุณอาจมีเวิร์กโฟลว์ของตัวเองสำหรับการย้ายข้อมูลสคีมาและต้องการรักษาการเป็นเจ้าของสคีมาด้วยตนเอง หากต้องการใช้ขั้นตอนนี้ ให้ปฏิเสธที่ข้อความแจ้งของ dataconnect:sql:setup ว่า Data Connect ควรจัดการการย้ายข้อมูล SQL ให้คุณหรือไม่ การที่ปฏิเสธหมายความว่า Data Connect จะอนุญาตให้ read และ write เข้าถึงตารางฐานข้อมูลเท่านั้น แต่ความเป็นเจ้าของและการย้ายสคีมาจะยังคงเป็นของคุณ

โปรดดูการพูดคุยและกรณีการใช้งานเพิ่มเติมที่หัวข้อจัดการบริการและฐานข้อมูล

dataconnect:sql:grant

firebase dataconnect:sql:grant

ในบางกรณี คุณอาจต้องการเข้าถึงฐานข้อมูลโดยตรงเพื่อค้นหาหรืออัปเดตข้อมูลที่แอป Data Connect สร้างขึ้น โดยจะต้องมอบบทบาทใดบทบาทหนึ่งที่กำหนดไว้ในส่วนนี้ให้กับผู้ใช้หรือบัญชีบริการที่ต้องการ

โปรดดูรายละเอียดเกี่ยวกับบทบาทที่ได้รับที่หัวข้อบทบาทผู้ใช้ PostgreSQL

บทบาท บทบาท SQL สิทธิ์ การใช้งาน ให้สิทธิ์ได้
ผู้อ่าน firebasereader_<db_name>_<schema_name> สิทธิ์การอ่านอย่างเดียวในฐานข้อมูล

ดําเนินการ SELECT ในตารางทั้งหมดภายในสคีมาที่ระบุได้
เหมาะสำหรับผู้ใช้หรือบริการที่ต้องดึงข้อมูลแต่ไม่ต้องแก้ไข ใช่
ผู้เขียน firebasewriter_<db_name>_<schema_name> สิทธิ์การอ่านและการเขียนฐานข้อมูล

ดําเนินการ SELECT, INSERT, UPDATE, DELETE และ TRUNCATE ในตารางทั้งหมดภายในสคีมาได้
เหมาะสำหรับผู้ใช้หรือบริการที่ต้องแก้ไขข้อมูลภายในฐานข้อมูล ใช่
เจ้าของ firebaseowner_<db_name>_<schema_name> เจ้าของสคีมา

มีสิทธิ์ทั้งหมดในตารางและลําดับทั้งหมดในสคีมา
บทบาทนี้ร่วมกับบทบาท IAM roles/cloudsql.client จะมอบสิทธิ์ในการย้ายข้อมูลในฐานข้อมูล

เช่น เมื่อโทรหา firebase dataconnect:sql:migrate
ใช่
ผู้ใช้ระดับสูง cloudsqlsuperuser บทบาทผู้ใช้ขั้นสูงในตัวที่มีสิทธิ์เต็มรูปแบบในฐานข้อมูล

นอกเหนือจากสิทธิ์ระดับเจ้าของแล้ว ผู้ใช้ดังกล่าวยังสร้างสคีมา วางสคีมา ติดตั้งส่วนขยาย และดําเนินการด้านการดูแลระบบอื่นๆ ได้ด้วย

เข้าถึงใน CLI โดยการเข้าสู่ระบบเป็น "firebasesuperuser"
จําเป็นสําหรับการติดตั้งส่วนขยาย การสร้างสคีมาเริ่มต้น และการให้บทบาท SQL ที่มอบสิทธิ์ได้แก่ผู้ใช้รายอื่น

หากผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบต้องการสิทธิ์ระดับผู้ดูแลระบบขั้นสูง การย้ายข้อมูลจะไม่สำเร็จและแจ้งให้ผู้ใช้ขอให้ผู้ดูแลระบบฐานข้อมูล (นั่นคือผู้ใช้ที่มี roles/cloudsql.admin) เรียกใช้คําสั่ง SQL ที่มีสิทธิ์
มอบสิทธิ์ให้ผู้ใช้ที่มี roles/cloudsql.admin และไม่สามารถมอบสิทธิ์จาก Firebase CLI ได้โดยตรง
คำสั่ง คำอธิบาย

firebase dataconnect:sql:grant

Flag/Parameter คำอธิบาย

-R, --role role

บทบาท SQL ที่จะให้สิทธิ์ ซึ่งได้แก่ เจ้าของ ผู้เขียน หรือผู้อ่าน

-E, --email email_address

อีเมลของผู้ใช้หรือบัญชีบริการที่จะมอบบทบาทให้

ตัวเลือกที่ใช้ได้ทั่วไป

ตัวเลือกส่วนกลางต่อไปนี้มีผลกับคำสั่งทั้งหมด

  • --json สลับเอาต์พุต CLI เป็น JSON เพื่อให้เครื่องมืออื่นๆ แยกวิเคราะห์ได้
  • --noninteractive และ --interactive จะลบล้างการตรวจหาสภาพแวดล้อมที่ไม่ใช่ TTY โดยอัตโนมัติตามที่จำเป็น