Firebase-tools: рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░: рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХрд╛ рдкреНрд░рд╛рд░рдВрдн

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рдорд╛рд░реНрдЪ 2019  ┬╖  39рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: firebase/firebase-tools

рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╣рдо рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдпрд╛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдЪ рд░рд╛рдЗрдЯрд┐рдВрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ 120 рдСрдкрд░реЗрд╢рди (рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛рд╕реЗрдЯ) рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 3s рд▓рдЧрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╕реЗ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдмрдирд╛рдирд╛ рдпрд╛ рдмрдбрд╝реЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?

emulator-suite database firestore feature request

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдпрд╛рдиреА, рдЗрд╕реЗ "рдмреАрдЬ" рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ) рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдереЛрдбрд╝рд╛ рдореИрдиреБрдЕрд▓ рд╣реЛрдЧрд╛, рд╣рдо рдмрд╛рдж рдХреЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдмреЗрд╣рддрд░ рдЯреВрд▓рд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВрдЧреЗред

рд░реАрдпрд▓рдЯрд╛рдЗрдо рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛, рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред

рд╕рднреА 39 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдЖрд░рдВрднреАрдХрд░рдг рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ "рд╕реНрдиреИрдкрд╢реЙрдЯ" рд▓реЛрдб рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдПрдореБрд▓реЗрдЯрд░ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдбреАрдмреА рдХреЛ рд╕реАрдб рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдлрд╝рдВрдХреНрд╢рди рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рддреЛ рдХреНрдпрд╛ рдбрд┐рд╕реНрдХ рдкрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ, рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░, рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛ рджреГрдврд╝рддрд╛?

рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд┐рдирд╛ рдбреЗрдЯрд╛ рдХреЛ рд╕реАрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
рдлрд╛рдпрд░рд┐рдВрдЧред рд╕реНрдЯреЙрдкрдЧреИрдк рдЙрдкрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ "рдореЛрдбрд╝" рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реАрдХрд╛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЬрдм рдЖрдк рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рддреЛ off" рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИ
рдХреБрдЫ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВрдЧреЗ?

рд▓реЗрдХрд┐рди рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдХреА рдЬрд░реВрд░рдд рд╣реИред

рд╢рдирд┐, 12 рдЕрдХреНрдЯреВрдмрд░, 2019 рдХреЛ 11:54 рдкреВрд░реНрд╡рд╛рд╣реНрди рд╡реНрдпрд╛рдЯ Ades [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ "рд╕реНрдиреИрдкрд╢реЙрдЯ" рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛
рдЖрд░рдВрднреАрдХрд░рдг рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реВрдВ
рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдбреАрдмреА рдХреЛ рдмреАрдЬ рджреЗрддрд╛ рд╣реВрдВ, рддреЛ рдПрдХ рдЧреБрдЪреНрдЫрд╛
рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдлрд╝рдВрдХреНрд╢рди рдЯреНрд░рд┐рдЧрд░реНрд╕ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рдЗрд╕рд▓рд┐рдП
рдХреНрдпрд╛ рдЖрд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ рдпрд╛,
рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░, рдбрд┐рд╕реНрдХ рдХреЗ рд▓рд┐рдП рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛ рд╣рда?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/firebase/firebase-tools/issues/1167?email_source=notifications&email_token=ACATB2VEE7BBI75HECFTE23QOIMOLA5CNFSM4G5NG5X2YY3PNVWWWK3TUL52HS4DFVREXG43VMVBW63,P#AWS5GBWZLOORT
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ACATB2WHUTO43JISN54J4U3QOIMOLANCNFSM4G5NG5XQ
.

рд╣рд╛рдБ, рдпрд╣ рдЕрднреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛, рдзрдиреНрдпрд╡рд╛рдж!

рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдХреЛрдИ рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рд▓реЗрдХрд┐рди рдЗрд╕ рдЯреАрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмрд╛рдд рдореБрдЭреЗ рдЕрдм рдкрд╕рдВрдж рд╣реИ, рдпрд╣ рдЕрдзрд┐рдХ рд╕рдХреНрд░рд┐рдп рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд▓рдЧрддреА рд╣реИред

рдХреНрдпрд╛ рд▓реЛрдЧ рдХреГрдкрдпрд╛ рд░реАрдпрд▓рдЯрд╛рдЗрдо рдбреАрдмреА рдХреЛ рдЗрд╕рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдбреАрдмреА рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

@anantanandgupta рдЕрднреА рддрдХ рдХреЛрдИ рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд╛рдБ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦреБрд▓реЗ рд░рд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ! рдФрд░ рдореИрдВрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рдХреЛ рднреА рджрд╛рдпрд░реЗ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдЖрд╕рд╛рди рд╣реИ (JSON рдкреНрд░рд╛рд░реВрдк) рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЕрднреА рднреА рдХреНрд▓рд╛рдЙрдб рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ "рд░реЛрдХрдиреЗ" рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдЪреНрдЫреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рд╢рд╛рд▓ рдордВрдЪ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд╛рдпрд░рдмреЗрд╕ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╣рд░ рдХреЛрдИ рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдерд╛, рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рд╕реЗ рдореИрдВрдиреЗ рдЕрдм рддрдХ рд╕рд╛рдмрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдлрд╛рдпрд░рдмреЗрд╕ рдХреЛ рддрдХрдиреАрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдореЗрд░рд╛ рдирд┐рд░реНрдгрдп рдЧрд▓рдд рдирд╣реАрдВ рдерд╛ред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдпрд╣ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдХреНрд▓рд╛рдЙрдб рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╣рдо рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рдФрд░ рдХреБрд╢рд▓ рд╣реЛрдЧрд╛ред

рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдпрд╛рдиреА, рдЗрд╕реЗ "рдмреАрдЬ" рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ) рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдереЛрдбрд╝рд╛ рдореИрдиреБрдЕрд▓ рд╣реЛрдЧрд╛, рд╣рдо рдмрд╛рдж рдХреЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдмреЗрд╣рддрд░ рдЯреВрд▓рд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВрдЧреЗред

рд░реАрдпрд▓рдЯрд╛рдЗрдо рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛, рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред

@ryanpbrewster рдХреНрдпрд╛ "рдмреАрдЬ" рдбреЗрдЯрд╛ рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ?

@SamyPesse рдЗрд╕реЗ рдПрдореБрд▓реЗрдЯрд░ JAR рдХреЗ рдЕрдВрджрд░ рд╣реА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ @ryanpbrewster рдиреЗ рдХрд╣рд╛ рдерд╛) рд▓реЗрдХрд┐рди рд╣рдордиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП firebase-tools рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЕрднреА рддрдХ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рдпрд╣ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐ рдЖрдк рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ? рдЖрдк рдкрд░ рдПрдХ рдЭрдВрдбрд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ firebase рдЖрджреЗрд╢, рдореЗрдВ рдПрдХ рдХреНрд╖реЗрддреНрд░ firebase.json рдпрд╛ рдХреБрдЫ рдФрд░?

рдбреЗрдЯрд╛ рдХрд╛ рдЖрдпрд╛рдд рдФрд░ рдирд┐рд░реНрдпрд╛рдд рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рдкрд╛рдП рд╣реИрдВ рдХрд┐ рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдЗрд╕рд▓рд┐рдП рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рдирд┐рд░реНрджреЗрд╢ рдореЛрдЯреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЗрд╕реЗ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ:

рдПрдХ рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдЖрдк рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реЗ, рдпрд╛ рд╕реНрдерд╛рдиреАрдп рдПрдореБрд▓реЗрдЯрд░ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдореБрд▓реЗрдЯрд░ рдирд┐рд░реНрдпрд╛рдд

рдПрдореБрд▓реЗрдЯрд░ рдХреЛ рдмреВрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░реЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдкрдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдкрдХреА рдкрд╕рдВрдж рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛ, рддреЛ рдПрдХ рдирд┐рд░реНрдпрд╛рдд рдмрдирд╛рдПрдВ:

curl "localhost:8080/emulator/v1/projects/ryanpbrewster-test:export" \
  -d '{"database": "projects/ryanpbrewster-test/databases/(default)","export_directory":"."}' \
  -H "Content-Type: application/json

рдЬреЛ рдЖрдкрдХреЗ рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирд┐рд░реНрдпрд╛рдд рдХреЛ firestore_export_1576524691/ рдЬреИрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбрдВрдк рдХрд░ рджреЗрдЧрд╛

рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдпрд╛рдд

рдЖрдкрдХреЛ Google рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореИрдВ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдРрдкрдЗрдВрдЬрд┐рди рдмрдХреЗрдЯ ryanpbrewster-test.appspot.com рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред Daud

gcloud firestore export gs://ryanpbrewster-test.appspot.com/firestore-export

рдФрд░ Firestore рдЖрдкрдХреЗ рдЙрддреНрдкрд╛рджрди рдбреЗрдЯрд╛ рдХреА рдкреВрд░реА рдХреЙрдкреА рдХреЛ Google Cloud Storage рдореЗрдВ рдбрдВрдк рдХрд░ рджреЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдирд┐рд░реНрдпрд╛рдд рдХреЛ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯ рддрдХ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --collection-ids рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдмрд╛рд░ рдпрд╣ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ рддреЛ рдпрд╣ рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рдПрдЧрд╛):

gsutil cp -r gs://ryanpbrewster-test.appspot.com/firestore-export .

рдЖрдпрд╛рдд рдЖрдВрдХрдбрд╝рд╛

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдлреНрд▓реИрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ:

java -jar ~/.cache/firebase/emulators/cloud-firestore-emulator-v1.10.2.jar \
  --seed_from_export=firestore_export_1576524691/firestore_export_1576524691.overall_export_metadata

рдпрджрд┐ рд╕рдм рдареАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдЖрдкрдХрд╛ рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рд╣реЛрдЧрд╛ред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдЬрд┐рд╕ рдкрде рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡рд╣ .overall_export_metadata рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реНрдерд╛рди рд╣реИ, рдЬреЛ рдирд┐рд░реНрдпрд╛рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдирд┐рд░реНрдпрд╛рдд рд╕реЗ firestore рдбреЗрдЯрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдЕрдм рдЕрдЧрд░ рдореИрдВ рдлрд╛рдпрд░рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рд╕реВрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдореБрд▓реЗрдЯрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреЛрд░реНрдЯ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ FIRESTORE_EMULATOR_HOST рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рднреА рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреАред рдпрджрд┐ рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдмреАрдЬ рдкрде рдХреЛ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рднреА рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛ рдФрд░ firebase emulators:start --firestore_seed_from_export = \path\to\seed\file рдЬреИрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рдордп рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ред

@prgwar рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП +1ред рдореИрдВ рдЗрд╕ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдореБрд▓реЗрдЯрд░ рд╕реВрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдХрд╛рд░реНрдп рдЙрддреНрдкрд╛рджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ "тЪа рдХрд╛рд░реНрдп: рдХреНрд▓рд╛рдЙрдб рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдХреЛ рдХреЙрд▓ рдЙрддреНрдкрд╛рджрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред"

@prgwar рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ firebase рдХрдорд╛рдВрдб рд╕реЗ рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рддрдп рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕реАрдзреЗ jar рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХреЗрд╡рд▓ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ рдФрд░ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рдЬреЛ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рджреАрд░реНрдШрд╛рд╡рдзрд┐ рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред

@ srolfe26 рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдПрдХ рдЕрд▓рдЧ рддрд░рд╣ рдХреА рд▓рдЧрддреА рд╣реИ, рдЖрдк рдХреНрд▓рд╛рдЙрдб рдлрд╝рдВрдХреНрд╢рдВрд╕ рдПрдореБрд▓реЗрдЯрд░ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдирд╣реАрдВред Firestore рдПрдореБрд▓реЗрдЯрд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП firebase init emulators рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ firebase emulators:start рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдБред

рдХрд┐рд╕реА рднреА рд╕рд╛рдереА WSL (1 рдпрд╛ 2) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдПрдореБрд▓реЗрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рдЖрджреЗрд╢ рдореЗрдВ --host 0.0.0.0 рдзреНрд╡рдЬ рдЬреЛрдбрд╝рд╛ рдФрд░ рдЗрд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЧрдИред

java -jar ~/.cache/firebase/emulators/cloud-firestore-emulator-v1.10.2.jar \
  --seed_from_export=firestore_export_1576524691/firestore_export_1576524691.overall_export_metadata \
  --host 0.0.0.0

рдХреНрдпрд╛ @prgwar рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ --firestore_seed_from_export=рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛ?

рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдореИрдВ рдкреАрдЖрд░ рд▓рдЧрд╛рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реВрдВред рдореИрдВ рдЧреЗрдВрдж рдХреЛ рд▓реБрдврд╝рдХрдиреЗ рдореЗрдВ рдФрд░ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рдореБрдЭреЗ рдпрд╣ рднреА рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдЕрдЧрд░ рд░реАрдпрд▓рдЯрд╛рдЗрдо рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рд╡рд╣реА Seed_from_export рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХреА рдЬрд╛ рд╕рдХреЗред

@spencerwhyte рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдЕрднреА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯ рд░рд╣рд╛ рд╣реВрдВ, рдХреБрдЫ рдРрд╕рд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдФрд░ рдЖрд░рдЯреАрдбреАрдмреА рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдХрд┐рд╕реА рднреА рдЕрдиреБрдХрд░рдгрдХрд░реНрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛ред

рдЖрдк рдЗрд╕ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕рд╛ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗ:

  • рдПрдХ "рдмреИрдХрдЕрдк" рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

    • рдЙрдирдХреЗ рд╡рд┐рд╣рд┐рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдореБрд▓реЗрдЯрд░ рдмреИрдХрдЕрдк рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛

    • рдПрдХ рдПрдХрд▓ metadata.json рдлрд╝рд╛рдЗрд▓ рдЬреЛ рдЙрдирдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ

  • рдПрдХ рдмреАрдЬ рдХреЗ рд╕рд╛рде рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХрд░рддреЗ рд╣реИрдВ: firebase emulators:start --import="./folder-with-backup"
  • рдЪрд▓ рд░рд╣реЗ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдПрдХ рдирдпрд╛ рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ рдЬрдмрдХрд┐ рд╡реЗ рдЪрд▓ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ firebase emulators:export

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣реА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рд▓рдЪреАрд▓реА рдЪреАрдЬ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЦреБрд▓рд╛ рд╣реВрдВ

@samtstern рдпрд╣ рд╕реБрдирдХрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛!

рдпрд╣ рдбрд┐рдЬрд╝рд╛рдЗрди рдПрдХрджрдо рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдПрдореБрд▓реЗрдЯрд░ рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк / рдмреИрдХрдЕрдк рдкреНрд░рд╛рд░реВрдк рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рдЙрддреНрдкрд╛рджрди рдкрд░ рдмреИрдХрдЕрдк рдХреЗ рд╕рдорд╛рди рдкреНрд░рд╛рд░реВрдк рд╣реИ, рддреЛ рд╡рд╣ рдХрд░реЗрдЧрд╛ред рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЛ рдмрдВрдж рдХрд┐рдП рдмрд┐рдирд╛ рд╣рдорд╛рд░реЗ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рдХреБрдЫ рдЬрд╛рдВрдЪ рдХрд░рдХреЗ рдЬреАрд╡рд┐рдд рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдЙрд╕ рдЬрдЯрд┐рд▓рддрд╛ рд╕реЗ рдмрдЪрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред --import рд▓рд┐рдП рдпрд╣ рд╕рдорд░реНрдерди рд╣рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рд╣рдо рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП firebase emulators:exec рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рдпрд╣ exec рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд╣рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

@spencerwhyte

рез) рд╣рд╛рдБ, рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ рдЙрддреНрдкрд╛рджрди рдХреЗ рд╕рдорд╛рди рдкреНрд░рд╛рд░реВрдкреЛрдВ рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣реЗрдВрдЧреЗред рддреЛ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдХреЗ рд▓рд┐рдП рд╣рдо рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЖрд░рдЯреАрдбреАрдмреА рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╡рд┐рд╢рд╛рд▓ json рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреАред
2) рд╣рд╛рдБ рд╣рдо emulators:exec --import рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ

рдкреНрд░рддрд┐рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдкреАрдЖрд░ #1968 рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ (рдлрд┐рд▓рд╣рд╛рд▓ рдХреЗрд╡рд▓ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдХреЗ рд▓рд┐рдП, рд░реАрдпрд▓рдЯрд╛рдЗрдо рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд▓реНрдж рд╣реА рдЖ рд░рд╣рд╛ рд╣реИ) рдФрд░ рдЗрд╕реЗ рдЕрдЧрд▓реЗ рд╕реАрдПрд▓рдЖрдИ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рд╕рдВрднрд╡рддрдГ 7.14.0 )

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрднреА-рдЕрднреА 7.14.0 рдореЗрдВ рдЬрд╛рд░реА рдХреА рдЧрдИ

рдХреНрдпрд╛ рдпрд╣ рдХрд╣реАрдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ? рд╕рд╛рде рд╣реА, рдХреНрдпрд╛ Google рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯ (рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИ) рдХреЗ рдмрд┐рдирд╛ рдЙрддреНрдкрд╛рджрди рдбреЗрдЯрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?
рдХреНрд▓рд╛рдЙрдб рдбреЗрдЯрд╛рд╕реНрдЯреЛрд░ рд╕реЗ рджреЛрд╣рд░рд╛рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдмрд┐рдирд╛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрдард┐рди рд╕рдордп рдкрд░реАрдХреНрд╖рдг рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИред

@shaimo рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рд╣рдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдкрд░ рдереЛрдбрд╝рд╛ рдкреАрдЫреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдЕрдЧрд▓реЗ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рдмрд╛рд╣рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП!

рдЙрддреНрдкрд╛рджрди рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░реНрдпрд╛рдд рдПрдХ "рдкреНрд░рдмрдВрдзрд┐рдд" рдСрдкрд░реЗрд╢рди рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣реАрдВ рди рдХрд╣реАрдВ Google рд╕рд░реНрд╡рд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдЖрдкрдХреЗ рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЦрд┐рд▓рд╛рдл рдЙрд╕ рддрд░рд╣ рдХрд╛ рдСрдкрд░реЗрд╢рди рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдХреНрд▓рд╛рдЙрдб рдбреЗрд╕реНрдЯрд┐рдиреЗрд╢рди рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдлрд╛рдпрд░рдмреЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдореБрдлреНрдд рдХреЛрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдлрд╛рдпрд░рдмреЗрд╕ рдХрдВрд╕реЛрд▓ рдХреЗ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗрдХреНрд╢рди рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░реЗрдВред

@samtstern рдЬреИрд╕рд╛ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдПрдореНрдпреВрд▓реЗрдЯрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдореЗрдВ рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣рд╛рдВ рдирдП рдЭрдВрдбреЛрдВ рдкрд░ рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИрдВ:
https://firebase.google.com/docs/emulator-suite/install_and_configure#startup

рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рд╡реИрд╕реЗ рднреА рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реВрдВред рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рджреЛ рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддреЛ рдЪрд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЯрд░реНрдорд┐рдирд▓ 1 рдФрд░ рдЯрд░реНрдорд┐рдирд▓ 2 рдХрд╣рддреЗ рд╣реИрдВ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░реЗрдВ

рдЯрд░реНрдорд┐рдирд▓ 1

$ firebase emulators:start
# ...

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдирдореЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЬрд┐рд╕реЗ рдЖрдк рд╕рд╣реЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рджреВрд╕рд░реЗ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

рдЯрд░реНрдорд┐рдирд▓ 2

$ firebase emulators:export ./mydirectory
# ...

рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ ./mydirectory рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рд╣реИред рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╡рд╣рд╛рдВ рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ:

рдЯрд░реНрдорд┐рдирд▓ 1

$ firebase emulators:start --import=./mydirectory
# ...

рдФрд░ рдмрд╕!

@samtstern рдХреНрдпрд╛ рд╣рдо рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдпрд╛рдд рд╕реЗ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдореБрд▓реЗрдЯрд░: рд╕реНрдЯрд╛рд░реНрдЯ - рдЖрдпрд╛рдд рдлрд╛рдпрд░рдмреЗрд╕-рдПрдХреНрд╕рдкреЛрд░реНрдЯ-рдореЗрдЯрд╛рдбреЗрдЯрд╛.рдЬреЗрд╕рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░-рдПрдХреНрд╕рдкреЛрд░реНрдЯ/рдлрд╛рдпрд░рд╕реНрдЯреЛрд░-рдПрдХреНрд╕рдкреЛрд░реНрдЯ рд╣реИред рдУрд╡рд░рдСрд▓_рдПрдХреНрд╕рдкреЛрд░реНрдЯ_рдореЗрдЯрд╛рдбреЗрдЯрд╛

@landonj рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдпрд╣ рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдХрд╛рдо рд╣реИ emulators:export рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдПрдВ рдФрд░ рдлрд┐рд░ JSON рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдпрд╛рдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдЕрднреА рддрдХ рдПрдореНрдпреВрд▓реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдЖрд░рдЯреАрдбреАрдмреА рдмреЛрдиреЗ рдкрд░ рдХреБрдЫ рднреА?

@FergyKay рдЕрднреА рддрдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдпрд╣рд╛рдБ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
https://github.com/firebase/firebase-tools/issues/2079

рдпрд╣ рдмрд╣реБрдд рдЬрд░реВрд░реА рд╣реИ

рдореИрдВ рдареАрдХ рд╡рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреИрд╕реЗ @landonj ..

рдФрд░ рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ @samtstern рдиреЗ рдХреНрдпрд╛ рдХрд╣рд╛ ... рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ ...

рдореИрдВ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ?

bdw.. рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИ!

firebase emulators:start --debug --only firestore,functions --import=/Users/ridermansb/Projects/meve.ai/backups/emulator-data

[реирежреиреж-режрел-рейрезрдЯреАрезрей:рейрез:реирей.ремрежрезрдЬреЗрдб] com.google.cloud.datastore.core.exception.DatastoreException: рд╕рдордЧреНрд░ рдирд┐рд░реНрдпрд╛рдд рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓
com.google.cloud.datastore.emulator.impl.ExportImportUtil.parseOverallMetadataFile(ExportImportUtil.java:225) рдкрд░
com.google.cloud.datastore.emulator.impl.ExportImportUtil.fetchEntities(ExportImportUtil.java:54) рдкрд░
com.google.cloud.datastore.emulator.firestore.CloudFirestore.main(CloudFirestore.java:89) рдкрд░
{"рдореЗрдЯрд╛рдбреЗрдЯрд╛":{"рдПрдореБрд▓реЗрдЯрд░":{"рдирд╛рдо":"firestore"},"message":"com.google.cloud.datastore.core.exception.DatastoreException: рд╕рдордЧреНрд░ рдирд┐рд░реНрдпрд╛рдд рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓\n\tat com.google.cloud.datastore.emulator.impl.ExportImportUtil.parseOverallMetadataFile(ExportImportUtil.java:225)\n\tat com.google.cloud.datastore.emulator.impl.ExportImportUtil.fetchEntities(ExportImportUtil.java:54)\n \tat com.google.cloud.datastore.emulator.firestore.CloudFirestore.main(CloudFirestore.java:89)\n"}}
[реирежреиреж-режрел-рейрезрдЯреАрезрей:рейрез:реирей.ремрежреирдЬреЗрдб] рдЗрд╕рдХреЗ рдХрд╛рд░рдг: java.io.FileNotFoundException: /Users/ridermansb/Projects/meve.ai/backups/emulator-data/Users/ridermansb/Projects/meve.ai/backups/ 2020-05-31/2020-05-31/2020-05-31T13:19:28_6168.overall_export_metadata (рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ)
{"рдореЗрдЯрд╛рдбреЗрдЯрд╛": {"рдПрдореБрд▓реЗрдЯрд░": {"рдирд╛рдо": "рдлрд╛рдпрд░рд╕реНрдЯреЛрд░"}, "рд╕рдВрджреЗрд╢": "рдЗрд╕рдХреЗ рдХрд╛рд░рдг: java.io.FileNotFoundException: /Users/ridermansb/Projects/meve.ai/backups/emulator-data /Users/ridermansb/Projects/meve.ai/backups/2020-05-31/2020-05-31/2020-05-31T13:19:28_6168.overall_export_metadata (рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ)\n"}}
[реирежреиреж-режрел-рейрезрдЯреАрезрей:рейрез:реирей.ремрежрейрдЬреЗрдб] java.base/java.io.FileInputStream.open0 (рдореВрд▓ рд╡рд┐рдзрд┐) рдкрд░
java.base/java.io.FileInputStream.open(FileInputStream.java:213) рдкрд░
java.base/java.io.FileInputStream рдкрд░ред(рдлрд╛рдЗрд▓рдЗрдирдкреБрдЯрд╕реНрдЯреНрд░реАрдо.рдЬрд╛рд╡рд╛:резрелрел)
com.google.cloud.datastore.emulator.impl.ExportImportUtil.parseOverallMetadataFile(ExportImportUtil.java:215) рдкрд░
... 2 рдФрд░
{"рдореЗрдЯрд╛рдбреЗрдЯрд╛":{"рдПрдореБрд▓реЗрдЯрд░":{"рдирд╛рдо":"рдлрд╛рдпрд░рд╕реНрдЯреЛрд░"},"рд╕рдВрджреЗрд╢":"\tat java.base/java.io.FileInputStream.open0(Native Method)\n\tat java.base/ java.io.FileInputStream.open(FileInputStream.java:213)\n\tat java.base/java.io.FileInputStream.(FileInputStream.java:155)\n\tat com.google.cloud.datastore.emulator.impl.ExportImportUtil.parseOverallMetadataFile(ExportImportUtil.java:215)\n\t... 2 рдФрд░\n"}}

рддреНрд░реБрдЯрд┐: рдлрд╛рдпрд░рд╕реНрдЯреЛрд░: рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдХреЛрдб рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЧрдпрд╛ рд╣реИ: 1

@landonj рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдпрд╣ рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдХрд╛рдо рд╣реИ emulators:export рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдПрдВ рдФрд░ рдлрд┐рд░ JSON рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдпрд╛рдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдХреНрдпрд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдореИрдВ рд╕реАрдзреЗ gcloud рдмрдХреЗрдЯ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдпрд╛ рдХреНрдпрд╛ рдореБрдЭреЗ рдкрд╣рд▓реЗ рдирд┐рд░реНрдпрд╛рдд рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореБрдЭреЗ рдХрд┐рди рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдореИрдВрдиреЗ рдЬреЛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:

> firebase emulators:start
> firebase emulators:export ~/emulator-data/
> # close the emulator
> gcloud firestore export gs://xxxxx-xxxxx-xxxxx/emulator/
> gsutil cp -r gs://xxxxx-xxxxx-xxxxx/emulator ~/emulator-data/
> firebase emulators:start --only firestore --import /home/gugahoi/emulator-data/emulator/ --debug
[2020-06-01T10:04:36.492Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2020-06-01T10:04:36.493Z] > authorizing via signed-in user
i  emulators: Starting emulators: firestore {"metadata":{"emulator":{"name":"hub"},"message":"Starting emulators: firestore"}}
[2020-06-01T10:04:36.510Z] [hub] writing locator at /tmp/hub-flux-development.json
i  emulators: Shutting down emulators. {"metadata":{"emulator":{"name":"hub"},"message":"Shutting down emulators."}}
i  hub: Stopping emulator hub {"metadata":{"emulator":{"name":"hub"},"message":"Stopping emulator hub"}}
[2020-06-01T10:04:36.825Z] Error: ENOENT: no such file or directory, open '/home/gugahoi/emulator-data/emulator/firebase-export-metadata.json'
    at Object.openSync (fs.js:458:3)
    at Object.readFileSync (fs.js:360:35)
    at Object.<anonymous> (/home/gugahoi/.nvm/versions/node/v12.16.3/lib/node_modules/firebase-tools/lib/emulator/controller.js:183:44)
    at Generator.next (<anonymous>)
    at fulfilled (/home/gugahoi/.nvm/versions/node/v12.16.3/lib/node_modules/firebase-tools/lib/emulator/controller.js:5:58)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Error: An unexpected error has occurred.

рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде firebase-exports-metadata.json рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛:

> cat firebase-export-metadata.json
{"version":"8.4.1","firestore":{"version":"1.11.4","path":"emulator","metadata_file":"emulator/emulator.overall_export_metadata"}}

рдиреАрдЪреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ:

gugahoi:~/emulator-data > tree .
.
тФЬтФАтФА emulator
тФВ┬а┬а тФЬтФАтФА all_namespaces
тФВ┬а┬а тФВ┬а┬а тФФтФАтФА all_kinds
тФВ┬а┬а тФВ┬а┬а     тФЬтФАтФА all_namespaces_all_kinds.export_metadata
тФВ┬а┬а тФВ┬а┬а     тФЬтФАтФА output-0
тФВ┬а┬а тФВ┬а┬а     тФФтФАтФА output-1
тФВ┬а┬а тФФтФАтФА emulator.overall_export_metadata
тФЬтФАтФА firebase-export-metadata.json
тФЬтФАтФА firebase-export-metadata.json.bak
тФФтФАтФА firestore_export
    тФФтФАтФА firestore_export.overall_export_metadata

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдПрдореБрд▓реЗрдЯрд░ рдпреВрдЖрдИ рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ

рдмрд╕ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдПрдореБрд▓реЗрдЯрд░ рд╕реЗ рдЕрдВрддрд┐рдо рдЖрдЙрдЯрдкреБрдЯ рдЬреЛрдбрд╝реВрдВрдЧрд╛, рдпрд╣ рдмрд┐рдирд╛ рддреНрд░реБрдЯрд┐ рдХреЗ рдЪрд▓рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдбреЗрдЯрд╛ рдХреЗ рдмрд┐рдирд╛:

> firebase emulators:start --only firestore --import /home/gugahoi/emulator-data/ --debug
[2020-06-01T11:31:34.256Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2020-06-01T11:31:34.257Z] > authorizing via signed-in user
i  emulators: Starting emulators: firestore {"metadata":{"emulator":{"name":"hub"},"message":"Starting emulators: firestore"}}
[2020-06-01T11:31:34.274Z] [hub] writing locator at /tmp/hub-flux-development.json
i  firestore: Importing data from /home/gugahoi/emulator-data/emulator/emulator.overall_export_metadata {"metadata":{"emulator":{"name":"firestore"},"message":"Importing data from /home/gugahoi/emulator-data/emulator/emulator.overall_export_metadata"}}
[2020-06-01T11:31:34.302Z] Ignoring unsupported arg: projectId {"metadata":{"emulator":{"name":"firestore"},"message":"Ignoring unsupported arg: projectId"}}
[2020-06-01T11:31:34.303Z] Ignoring unsupported arg: auto_download {"metadata":{"emulator":{"name":"firestore"},"message":"Ignoring unsupported arg: auto_download"}}
[2020-06-01T11:31:34.303Z] Starting Firestore Emulator with command {"binary":"java","args":["-Duser.language=en","-jar","/home/gugahoi/.cache/firebase/emulators/cloud-firestore-emulator-v1.11.4.jar","--host","localhost","--port",8080,"--seed_from_export","/home/gugahoi/emulator-data/emulator/emulator.overall_export_metadata","--rules","/home/gugahoi/projects/flux/flux/firestore.rules"],"optionalArgs":["port","webchannel_port","host","rules","functions_emulator","seed_from_export"],"joinArgs":false} {"metadata":{"emulator":{"name":"firestore"},"message":"Starting Firestore Emulator with command {\"binary\":\"java\",\"args\":[\"-Duser.language=en\",\"-jar\",\"/home/gugahoi/.cache/firebase/emulators/cloud-firestore-emulator-v1.11.4.jar\",\"--host\",\"localhost\",\"--port\",8080,\"--seed_from_export\",\"/home/gugahoi/emulator-data/emulator/emulator.overall_export_metadata\",\"--rules\",\"/home/gugahoi/projects/flux/flux/firestore.rules\"],\"optionalArgs\":[\"port\",\"webchannel_port\",\"host\",\"rules\",\"functions_emulator\",\"seed_from_export\"],\"joinArgs\":false}"}}
i  firestore: Firestore Emulator logging to firestore-debug.log {"metadata":{"emulator":{"name":"firestore"},"message":"Firestore Emulator logging to \u001b[1mfirestore-debug.log\u001b[22m"}}
[2020-06-01T11:31:35.197Z] API endpoint: http://localhost:8080
 {"metadata":{"emulator":{"name":"firestore"},"message":"API endpoint: http://localhost:8080\n"}}
[2020-06-01T11:31:35.198Z] If you are using a library that supports the FIRESTORE_EMULATOR_HOST environment variable, run:

   export FIRESTORE_EMULATOR_HOST=localhost:8080

Dev App Server is now running.

 {"metadata":{"emulator":{"name":"firestore"},"message":"If you are using a library that supports the FIRESTORE_EMULATOR_HOST environment variable, run:\n\n   export FIRESTORE_EMULATOR_HOST=localhost:8080\n\nDev App Server is now running.\n\n"}}
[2020-06-01T11:31:35.322Z] Ignoring unsupported arg: auto_download {"metadata":{"emulator":{"name":"ui"},"message":"Ignoring unsupported arg: auto_download"}}
[2020-06-01T11:31:35.322Z] Ignoring unsupported arg: port {"metadata":{"emulator":{"name":"ui"},"message":"Ignoring unsupported arg: port"}}
[2020-06-01T11:31:35.323Z] Starting Emulator UI with command {"binary":"node","args":["/home/gugahoi/.cache/firebase/emulators/ui-v1.0.0/server.bundle.js"],"optionalArgs":[],"joinArgs":false} {"metadata":{"emulator":{"name":"ui"},"message":"Starting Emulator UI with command {\"binary\":\"node\",\"args\":[\"/home/gugahoi/.cache/firebase/emulators/ui-v1.0.0/server.bundle.js\"],\"optionalArgs\":[],\"joinArgs\":false}"}}
i  ui: Emulator UI logging to ui-debug.log {"metadata":{"emulator":{"name":"ui"},"message":"Emulator UI logging to \u001b[1mui-debug.log\u001b[22m"}}
[2020-06-01T11:31:35.395Z] Web / API server started at http://localhost:4000
 {"metadata":{"emulator":{"name":"ui"},"message":"Web / API server started at http://localhost:4000\n"}}

тФМтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФР
тФВ тЬФ  All emulators ready! View status and logs at http://localhost:4000 тФВ
тФФтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФШ

тФМтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФмтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФмтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФР
тФВ Emulator  тФВ Host:Port      тФВ View in Emulator UI             тФВ
тФЬтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФ╝тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФ╝тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФд
тФВ Firestore тФВ localhost:8080 тФВ http://localhost:4000/firestore тФВ
тФФтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФ┤тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФ┤тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФШ
  Other reserved ports: 4400, 4500

Issues? Report them at https://github.com/firebase/firebase-tools/issues and attach the *-debug.log files.

@gugahoi рдЖрдкрдХреА рдкреЛрд╕реНрдЯ рдиреЗ рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдореЗрдВ рдорджрдж рдХреА: https://gist.github.com/bkuri/36cef71bcf30a5416b1c353cb81f38ed

рдпрд╣ рдПрдХ рдЫреЛрдЯреА рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдПрдореБрд▓реЗрдЯрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рд╕реАрдб рдХрд░рддреА рд╣реИред рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХреЗрд╡рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдФрд░ рдЧрдВрддрд╡реНрдп рдкрде рдЪрд╛рд╣рд┐рдПред рдпрд╛рдиреА: ./seed-storage.sh my-project /tmp/export ред

BTW, рдЙрдкрд░реЛрдХреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрджрд┐рдЧреНрдзреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рджреЛ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЯреВрд▓ ( lsof рдФрд░ screen ) рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ ( firebase , gcloud рдФрд░ gsutil ), рдЗрд╕рд▓рд┐рдП рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред :+1:

рд╡реИрд╕реЗ рднреА рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдкрд░ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП?

@bkuri рдЙрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк/рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдЬреАрдм рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрднреА рднреА рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред

@gugahoi рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЙрддреНрдкрд╛рджрди рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрджрдо рдЙрдард╛рдП:

  1. рдореЗрд░реЗ рд╕реНрдерд╛рдиреАрдп рдлрд╛рдпрд░рдмреЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрде рдкрд░ рдЬрд╛рдПрдВред
  2. рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ: firebase emulators:start
  3. рджрд┐рдП рдЧрдП рдмрдЯрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ http://localhost :4000/firestore рдкрд░ GUI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреБрдЫ рдореЙрдХрдЕрдк рдбреЗрдЯрд╛ рдмрдирд╛рдПрдВ: _+ рдкреНрд░рд╛рд░рдВрдн рд╕рдВрдЧреНрд░рд╣_ рдФрд░ _+ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреЛрдбрд╝реЗрдВ_ред
  4. рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ: emulators:export ./mydirectory
  5. _Firebase рдбреЗрдЯрд╛рдмреЗрд╕ / Cloud Firestore_ рдкрд░ рд╕реНрдерд┐рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдПрдХ рдПрдХрд▓ рд╕рдВрдЧреНрд░рд╣ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛: gcloud firestore export gs://my-project-bucket-id.appspot.com --collection-ids=myCollection рдирд┐рд░реНрдпрд╛рдд рдЕрдм _Firebase Storage_ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рдд рд╣реИ (рдореИрдВрдиреЗ рдЙрдкрд╕рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ) рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП)
  6. рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ: gsutil cp -r gs://my-project-bucket-id.appspot.com/myCollection ./production_data_export рдиреЛрдЯ: рдореИрдВрдиреЗ рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рд╣реИ... _gsutil_ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХ рджреЗрдЧрд╛: _"OSError: рдлрд╝рд╛рдЗрд▓ рдирд╛рдо, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо, рдпрд╛ рд╡реЙрд▓реНрдпреВрдо рд▓реЗрдмрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЧрд▓рдд рд╣реИ"_ рдпрджрд┐ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ (рдпрд╛рдиреА рдХреЛрд▓рди) рдореЗрдВ рдХрд┐рд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдЕрдорд╛рдиреНрдп рд╡рд░реНрдг рд╣реИрдВ рдпрд╛ рдпрд╣ рддреНрд░реБрдЯрд┐: _"OSError: рдЕрдорд╛рдиреНрдп рддрд░реНрдХ.9.0 B]"_ рдпрджрд┐ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрд┐рд╕реА рдЖрдВрддрд░рд┐рдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдорд╛рдиреНрдп рд╡рд░реНрдг рднреА рд╣реИрдВред рдирд┐рд░реНрдпрд╛рдд рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрдиреНрд╣реЗрдВ рдЗрд╕ рддрд░рд╣ рдПрдХ рд╡реИрдз рд╡рд┐рдВрдбреЛрдЬ рдирд╛рдо (рдпрд╛рдиреА рдХреЛрд▓рди рдХреЛ рд╣рдЯрд╛рдХрд░) рдХреЗ рд╕рд╛рде рдирд╛рдо рдмрджрд▓реЗрдВ: gsutil mv gs://my-project-bucket-id.appspot.com/2020-05-22T02:01:06_86152 gs://my-project-bucket-id.appspot.com/myCollection
  7. рдПрдХ рдмрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрдпрд╛рдд рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░реЗрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ firestore_export рдФрд░ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрдпрд╛рдд рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ firebase-export-metadata.json рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред рдмрд╕ рджреГрд╢реНрдп рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдорд┐рд▓реА рд╕рдВрд░рдЪрдирд╛ рдпрд╣рд╛рдВ рджреА рдЧрдИ рд╣реИ:
$ tree .
.
тФЬтФАтФА local_data_export
тФВ   тФЬтФАтФА firebase-export-metadata.json
тФВ   тФФтФАтФА firestore_export
тФВ       тФЬтФАтФА all_namespaces
тФВ       тФВ   тФФтФАтФА all_kinds
тФВ       тФВ       тФЬтФАтФА all_namespaces_all_kinds.export_metadata
тФВ       тФВ       тФФтФАтФА output-0
тФВ       тФФтФАтФА firestore_export.overall_export_metadata
тФФтФАтФА production_data_export
    тФЬтФАтФА firebase-export-metadata.json
    тФФтФАтФА firestore_export
        тФЬтФАтФА all_namespaces
        тФВ   тФФтФАтФА kind_myCollection
        тФВ       тФЬтФАтФА all_namespaces_kind_myCollection.export_metadata
        тФВ       тФЬтФАтФА output-0
        тФВ       тФФтФАтФА output-1
        тФФтФАтФА firestore_export.overall_export_metadata

8 directories, 9 files
  1. рдЕрдВрдд рдореЗрдВ, рдЖрдпрд╛рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЗрд╕ рдЙрддреНрдкрд╛рджрди рдбреЗрдЯрд╛ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП рд╕реНрдерд╛рдиреАрдп рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░реЗрдВ: firebase emulators:start --import=./mock_up_data/production_data_export/
  2. рдЖрдкрдХреЛ рдЖрдпрд╛рддрд┐рдд рдбреЗрдЯрд╛ рдпрд╣рд╛рдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП: http://localhost :4000/firestore/

рдХрд╛рд╢ рдпреЗ рдирд┐рд░реНрджреЗрд╢ рдорджрджрдЧрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛрддреЗред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ рдЬрдмрдХрд┐ рд╣рдо рдлрд╛рдпрд░рдмреЗрд╕ рд▓реЛрдЧреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдордЬрдмреВрдд рд╕рдорд╛рдзрд╛рди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрджреНрдпрддрди рдХреЗ рд░реВрдк рдореЗрдВ: рдЬрдм рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рдирд┐рд░реНрджреЗрд╢ рдкреЛрд╕реНрдЯ рдХрд┐рдП, рддреЛ рдореИрдВ рдЗрд╕реЗ WSL2 рдореЗрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рд╡реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рдереЗ рд▓реЗрдХрд┐рди рдЙрдмрдВрдЯреВ рдореЗрдВ рд╡рд╣реА рдХрджрдо рдареАрдХ рд▓рдЧ рд░рд╣реЗ рдереЗред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ WSL2 рдореЗрдВ рдХреБрдЫ рд╣рд╕реНрддрдХреНрд╖реЗрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ .

рдореИрдВ рдЗрд╕реЗ рджреВрд╕рд░реА рддрд░рд╣ рд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореИрдВ рдЕрдкрдиреЗ рдПрдореБрд▓реЗрдЯрд░ рдбреЗрдЯрд╛ рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдЕрдкрдиреЗ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдореЗрдВ 7000 Google рд╢реАрдЯ рдкрдВрдХреНрддрд┐рдпрд╛рдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдореЗрд░рд╛ рд╕реНрдореГрддрд┐ рд╕реАрдорд╛ рднреА рдкрд╛рд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдЬрдм рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдореИрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдирд┐рд░реНрдпрд╛рдд рдЖрдпрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдФрд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдПрдореБрд▓реЗрдЯрд░ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╕реНрдерд╛рдиреАрдп рдмреИрдХрдЕрдк рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ?

@nvanhoesel рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк рдЙрддреНрдкрд╛рджрди рдФрд░ рдЕрдиреБрдХрд░рдгрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рд╕рдорд╛рди рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдкрдХрд╛ рдПрдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдореБрд▓реЗрдЯрд░ рдирд┐рд░реНрдпрд╛рдд рдХреЛ Google рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддрд╛рдХрд┐ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдЖрдпрд╛рдд рдХрд░ рд╕рдХреЗред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

chwzr picture chwzr  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

francisrod01 picture francisrod01  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jefrydco picture jefrydco  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hmazter picture hmazter  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DragonOsman picture DragonOsman  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ