рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрдШреАрдп рд╕рдВрдЪрд╛рд░ рдПрдЬреЗрдВрд╕реА рдирдВрдмрд░рд┐рдВрдЧ рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛

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

рдбрд╛рдпрд▓ рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕реАрдПрд╕рд╡реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЪрд╛рд░ рд╕рд╛рд░рдгреАрдмрджреНрдз рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

rossvyaz.ru/data/ABC-3xx.csv
rossvyaz.ru/data/ABC-4xx.csv
rossvyaz.ru/data/ABC
-8xx.csv rossvyaz.ru/data/ DEF-9xx.csv

URL рдХрднреА - рдХрднреА рдмрджрд▓рддреЗ рд╣реИрдВред

рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рд╕рдорд╛рди рд╣реИ:

/ DEF;;;;;

рдХреНрд╖реЗрддреНрд░ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ , рдХреБрдЫ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рд╣реЛрддреЗ рд╣реИрдВ:

 ; | ; 

рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдкрдврд╝рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рд▓реЗ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдЪреЗрдХрд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ рдЧрд▓рдд рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рд╣реА рд╕реЗ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред

рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ:

first BIGINT PRIMARY KEY NOT NULL  //  
last BIGINT UNIQUE NOT NULL        //  
provider TEXT                      // 
source_region TEXT                 //        
region INT NOT NULL                //   

рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреА рдШрдЯрдирд╛ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реИрд░рд╛рдЯреЛрд╡ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╛рд░рдВрдЧ рд╡рд┐рдХрд▓реНрдк рд╣реЛрддрд╛ рд╣реИ ред

рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЕрд╕рдВрджрд┐рдЧреНрдз рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗред

рдЙрджрд╛рд╣рд░рдг 1:

  • рдпрдорд╛рд▓-рдиреЗрдиреЗрдЯреНрд╕ рд╕реНрд╡рд╛рдпрддреНрдд рдСрдХреНрд░рдЧ
  • рдиреЗрдиреЗрдЯреНрд╕ рдСрдЯреЛрдиреЙрдорд╕ рдУрдХреНрд░рдЧ

рдпрдорд╛рд▓реЛ-рдиреЗрдиреЗрдЯреНрд╕ рдСрдЯреЛрдиреЙрдорд╕ рдУрдХреНрд░рдЧ рдЯрдпреВрдорди рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдФрд░ рдиреЗрдиреЗрдЯреНрд╕ рдСрдЯреЛрдиреЙрдорд╕ рдСрдХреНрд░рдЧ рдЖрд░реНрдХрд╛рдиреНрдЬреЗрд╕реНрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдХреЛрдб рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди Nenets AO рдкреВрд░реА рддрд░рд╣ рд╕реЗ Yamalo-Nenets AO рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рджреЛ рдХреНрд╖реЗрддреНрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рдиреЗрдиреЗрдЯреНрд╕ рд╕реНрд╡рд╛рдпрддреНрдд рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╣реЛрдЧрд╛ред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ (рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрдХ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрдорд▓реЛ-рдиреЗрдиреЗрдЯреНрд╕ рд╕реНрд╡рд╛рдпрддреНрдд рдСрдХреНрд░рдЧ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдпрдорд▓реЛ рдХреЗ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ , рдФрд░ рдиреЗрдиреЗрдЯреНрд╕ рдХреЗ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░рд╛ рдиреЗрдиреЗрдЯреНрд╕ рд╕реНрд╡рд╛рдпрддреНрдд рдУрдХреНрд░рдЧ рдФрд░ рдпрдореЗрд▓реЛ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ ред

рдЙрджрд╛рд╣рд░рдг 2:

  • рдЬрд╛рдУред Krasnogorsk
  • рддреБрд▓рд╛
  • Partza

рдЕрдЬреНрдЮрд╛рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгред рд░реЛрд╕рд┐рд╡реЗрдЬрд╝ рдХреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдРрд╕реЗ рдХрдИ рд░рд┐рдХреЙрд░реНрдб рд╣реИрдВред рдЦреЛрдЬрдХ рдпрд╣ рдЬрд╛рдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЬреА.рдУ. Krasnogorsk - рдореЙрд╕реНрдХреЛ рдХреНрд╖реЗрддреНрд░, рддреБрд▓рд╛ - рдЦрд╛рдВрдЯреА-рдорд╛рдирд╕реА рд╕реНрд╡рд╛рдпрддреНрдд рдСрдХреНрд░рдЧ, рдФрд░ Partz рдХреЗ рдирд┐рдкрдЯрд╛рди - рдореЛрд░реНрджреЛрд╡рд┐рдпрд╛ рдЧрдгрд░рд╛рдЬреНрдпред рд╕рдорд╛рдзрд╛рди рд╕рд░рд▓ рд╣реИ, рд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рдХрд▓реНрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдПрдХ рд▓реВрдк рдореЗрдВ рдШрдЯрдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗред рдПрдХреНрд╕рдХреНрд▓реВрд╕рд┐рд╡ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рднреА рдПрдХ рдЕрд░реИ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг 3:

  • рд╕рд╛рдЗрдмреЗрд░рд┐рдпрд╛рдИ рд╕рдВрдШреАрдп рдЬрд┐рд▓рд╛, рд╕реБрджреВрд░ рдкреВрд░реНрд╡реА рд╕рдВрдШреАрдп рдЬрд┐рд▓рд╛
  • рдХреНрд░рд╛рд╕реНрдиреЛрдпрд╛рд░реНрд╕реНрдХ рдХреНрд╖реЗрддреНрд░, рдЦрдХрд╛рд╕рд┐рдпрд╛ рдЧрдгрд░рд╛рдЬреНрдп, рдорд╛рд╕реНрдХреЛ, рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ
  • рд░реВрд╕реА рд╕рдВрдШ

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХрд┐рд╕реА рдХреНрд╖реЗрддреНрд░ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдЖрдк рд╕реВрдЪреАрдмрджреНрдз рдХреА рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЖрдмрд╛рджреА рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреЛрдб рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рдЬреЛ рдХрдИ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ, рд╕рдВрдЦреНрдпрд╛ 8-80 [0-9] рд╣реИрдВ, рд╕рдВрдШреАрдп рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдЪрд╛рд░реНрдЬ рдирд╣реАрдВ рд╣реИрдВред рдореИрдВрдиреЗ 200 рд╕реЗ 210 рддрдХ рдХреЗ рдРрд╕реЗ рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рдХреЛрдб рд╕реМрдВрдкреЗред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡реЗ рдХрднреА рдореЗрд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗред

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
Linux, macos рдФрд░ windows рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрд┐рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ (рдореИрдВрдиреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ)ред Config.yml

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рддрд░реНрдХреЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдзреНрд╡рдЬ рд╕рдорд░реНрдерди рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреБрд▓-рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓
data_source:
  - https://rossvyaz.ru/data/ABC-3xx.csv
  - https://rossvyaz.ru/data/ABC-4xx.csv
  - https://rossvyaz.ru/data/ABC-8xx.csv
  - https://rossvyaz.ru/data/DEF-9xx.csv
#  - ../service/testdata/ABC-3xx.csv
#  - ../service/testdata/ABC-4xx.csv
#  - ../service/testdata/ABC-8xx.csv
#  - ../service/testdata/DEF-9xx.csv
exceptions: exceptions.yml
regions: regions.yml
db:
  host: localhost
  name: asterisk
  table: codes
  user: asterisk
  password: asterisk


Data_source рдлрд╝реАрд▓реНрдб рдореЗрдВ Rossvyaz рддрд╛рд▓рд┐рдХрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрде рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрджрд┐ рдкрде http рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ , рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡реЗрдм рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд▓реЛрдб рдХрд░реЗрдЧрд╛, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред

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

рдлреАрд▓реНрдбреНрд╕ рдЕрдкрд╡рд╛рдж рдФрд░ рдХреНрд╖реЗрддреНрд░реЛрдВрд╕реБрдзрд╛рд░ рдФрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрде рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рджред DB

рдЦрдВрдб MySQL DBMS рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдФрд░ DBMS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЛрдб рдФрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд╕рд░реНрд╡рд┐рд╕ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛

db, err := dbr.Open("mysql",
		fmt.Sprintf("%s:%s@tcp(%s)/%s", c.DB.User, c.DB.Password, c.DB.Host, c.DB.Name),
		nil)

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DBMS рдкреНрд░рдХрд╛рд░ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдкреБрд▓-рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдлрд┐рд░ рд╕реЗ рд╕реНрд╡рд╛рдЧрдд рд╣реИред рдЕрдкрд╡рд╛рдж

. yml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдлрд╝рд┐рдХреНрд╕реЗрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рдмреГрд╣рджрд╛рдиреНрддреНрд░ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрд╡рд╛рджреЛрдВ рдореЗрдВ рд╕рдмрдорд░реНрд╕рд┐рд╡рд▓ рдХрд╛ рдорд┐рд▓рд╛рдиред рд░реЛрд╕реНрд╡рд╛рдЬрд╝ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдХреЗ рдмрд╛рдж рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред Region.yml

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

рдХреНрд╖реЗрддреНрд░ рд╡рд┐рд╡рд░рдг рдЙрджрд╛рд╣рд░рдг
78:
  name: -
  contain:
    - 
    - 
    - .. 
  not_contain:
    - 


рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, db.name рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ db.user рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝рд╛ рдФрд░ рд▓рд┐рдЦрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд╕рдм рдХреБрдЫ рд╕реЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ db.table рдлрд╝реАрд▓реНрдб рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрд╛рд▓рд┐рдХрд╛ рд╕рд╛рдлрд╝ рд╣реЛ рдЬрд╛рдПрдЧреА, рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред

./def2sql

рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдФрд░ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдПрдХ рд╕рдорд╛рди рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦреЗрдВрдЧреЗ
correct records amount: 372324
inserted 372324 records


рдЕрдиреНрдпрдерд╛, рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред
correct records amount: 372324
inserted 372324 records
{
    "unknown_regions": [
        {
            "First": 3424333950,
            "Last": 3424333999,
            "Range": 50,
            "Provider": " \"\"",
            "SourceRegion": ".. ",
            "Region": 0
        },
        {
            "First": 3424820000,
            "Last": 3424820049,
            "Range": 50,
            "Provider": " \"\"",
            "SourceRegion": ".. ",
            "Region": 0
        },
        {
            "First": 3425425000,
            "Last": 3425425049,
            "Range": 50,
            "Provider": " \"\"",
            "SourceRegion": ".. ",
            "Region": 0
        },
        {
            "First": 3425620000,
            "Last": 3425620049,
            "Range": 50,
            "Provider": " \"\"",
            "SourceRegion": ".. ",
            "Region": 0
        },
        {
            "First": 3426050000,
            "Last": 3426050050,
            "Range": 51,
            "Provider": " \"\"",
            "SourceRegion": ".. ",
            "Region": 0
        },
        {
            "First": 3427399950,
            "Last": 3427399999,
            "Range": 50,
            "Provider": " \"\"",
            "SourceRegion": ".. ",
            "Region": 0
        },
        {
            "First": 4217523500,
            "Last": 4217523999,
            "Range": 500,
            "Provider": " \" \"\"",
            "SourceRegion": " ",
            "Region": 0
        },
        {
            "First": 4217526000,
            "Last": 4217526999,
            "Range": 1000,
            "Provider": " \" \"\"",
            "SourceRegion": " ",
            "Region": 0
        },
        {
            "First": 8003550000,
            "Last": 8003559999,
            "Range": 10000,
            "Provider": " \" \" ( 2460087999)",
            "SourceRegion": "  *   * .  * . -",
            "Region": 0
        },
        {
            "First": 8003810000,
            "Last": 8003819999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8013810000,
            "Last": 8013819999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8023810000,
            "Last": 8023819999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8031010000,
            "Last": 8031019999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8033550000,
            "Last": 8033559999,
            "Range": 10000,
            "Provider": " \" \" ( 2460087999)",
            "SourceRegion": "  *   * .  * . -",
            "Region": 0
        },
        {
            "First": 8033810000,
            "Last": 8033819999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8041010000,
            "Last": 8041019999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8043810000,
            "Last": 8043819999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8051010000,
            "Last": 8051019999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8053810000,
            "Last": 8053819999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8063810000,
            "Last": 8063819999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8073810000,
            "Last": 8073819999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8083810000,
            "Last": 8083819999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8091010000,
            "Last": 8091019999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 8093550000,
            "Last": 8093559999,
            "Range": 10000,
            "Provider": " \" \" ( 2460087999)",
            "SourceRegion": "  *   * .  * . -",
            "Region": 0
        },
        {
            "First": 8093810000,
            "Last": 8093819999,
            "Range": 10000,
            "Provider": " \"\"",
            "SourceRegion": "   *   ",
            "Region": 0
        },
        {
            "First": 9512780000,
            "Last": 9512789999,
            "Range": 10000,
            "Provider": " \"2 \"",
            "SourceRegion": "  *  |  *  ",
            "Region": 0
        },
        {
            "First": 9963000000,
            "Last": 9963029999,
            "Range": 30000,
            "Provider": " \"2 \"",
            "SourceRegion": "  *  |  *  ",
            "Region": 0
        }
    ],
    "warnings": [
        "couldn't find region for record (3424333950-3424333999;  \"\", .. )",
        "couldn't find region for record (3424820000-3424820049;  \"\", .. )",
        "couldn't find region for record (3425425000-3425425049;  \"\", .. )",
        "couldn't find region for record (3425620000-3425620049;  \"\", .. )",
        "couldn't find region for record (3426050000-3426050050;  \"\", .. )",
        "couldn't find region for record (3427399950-3427399999;  \"\", .. )",
        "couldn't find region for record (4217523500-4217523999;  \" \"\",  )",
        "couldn't find region for record (4217526000-4217526999;  \" \"\",  )",
        "couldn't find region for record (8003550000-8003559999;  \" \" ( 2460087999),   *   * .  * . -)",
initial commit
        "couldn't find region for record (8003810000-8003819999;  \"\",    *   )",
        "couldn't find region for record (8013810000-8013819999;  \"\",    *   )",
        "couldn't find region for record (8023810000-8023819999;  \"\",    *   )",
        "couldn't find region for record (8031010000-8031019999;  \"\",    *   )",
        "couldn't find region for record (8033550000-8033559999;  \" \" ( 2460087999),   *   * .  * . -)",
        "couldn't find region for record (8033810000-8033819999;  \"\",    *   )",
        "couldn't find region for record (8041010000-8041019999;  \"\",    *   )",
        "couldn't find region for record (8043810000-8043819999;  \"\",    *   )",
        "couldn't find region for record (8051010000-8051019999;  \"\",    *   )",
        "couldn't find region for record (8053810000-8053819999;  \"\",    *   )",
        "couldn't find region for record (8063810000-8063819999;  \"\",    *   )",
        "couldn't find region for record (8073810000-8073819999;  \"\",    *   )",
        "couldn't find region for record (8083810000-8083819999;  \"\",    *   )",
        "couldn't find region for record (8091010000-8091019999;  \"\",    *   )",
        "couldn't find region for record (8093550000-8093559999;  \" \" ( 2460087999),   *   * .  * . -)",
        "couldn't find region for record (8093810000-8093819999;  \"\",    *   )",
        "couldn't find region for record (9512780000-9512789999;  \"2 \",   *  |  *  )",
        "couldn't find region for record (9963000000-9963029999;  \"2 \",   *  |  *  )"
    ]
}


рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдХрдИ рдЦрдВрдб рд╣реИрдВред

Unknown_regions - рдЙрди рдЕрднрд┐рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЬреЛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИрдВ, рдпрд╛ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ;
wrong_records - Rossvyaz рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЕрдорд╛рдиреНрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА;
рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ - рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЬреЛ рдЖрд╡реЗрджрди рдХреЗ рд╕рдордп рдЪрд▓ рд░рд╣реА рдереА;

рдкрд┐рдЫрд▓реЗ рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рддрд╣рдд рд░рд┐рдкреЛрд░реНрдЯ рдореБрдЭреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдПрдХ рдорд╣реАрдиреЗ рдмрд╛рдж рдЖрд╡реЗрджрди рдХреЗ рд▓реЙрдиреНрдЪ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рд╛рдкреНрдд рд╣реБрдИ ред

рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг
1:
  name:   ()
  contain:
    - 
2:
  name:  
  contain:
    - 
    -   
3:
  name:  
  contain:
    - 
4:
  name:  
  contain:
    -  
5:
  name:  
  contain:
    - 
6:
  name:  
  contain:
    - 
7:
  name: - 
  contain:
    - -
8:
  name:  
  contain:
    - 
9:
  name: - 
  contain:
    - 
10:
  name:  
  contain:
    - 
    - .. 
11:
  name:  
  contain:
    - 
12:
  name:   
  contain:
    - 
13:
  name:  
  contain:
    - 
    - . 
14:
  name:   ()
  contain:
    - 
    - 
15:
  name:    - 
  contain:
    - 
16:
  name:   ()
  contain:
    - 
    - 
    - 
17:
  name:  
  contain:
    - 
18:
  name:  
  contain:
    - 
    - . 
19:
  name:  
  contain:
    - 
  not_contain:
    - 
20:
  name:  
  contain:
    -  
    - 
    -  
21:
  name:   - 
  contain:
    -  
    - 
22:
  name:  
  contain:
    -  
23:
  name:  
  contain:
    - 
24:
  name:  
  contain:
    -  
  not_contain:
    - 
25:
  name:  
  contain:
    -  
26:
  name:  
  contain:
    -  
27:
  name:  
  contain:
    - 
28:
  name:  
  contain:
    - 
29:
  name:  
  contain:
    - 
    - 
  not_contain:
    - 
    - 
30:
  name:  
  contain:
    - 
31:
  name:  
  contain:
    - 
32:
  name:  
  contain:
    - 
33:
  name:  
  contain:
    - 
34:
  name:  
  contain:
    - 
35:
  name:  
  contain:
    - 
36:
  name:  
  contain:
    - 
    - .. 
37:
  name:  
  contain:
    - 
    - .. 
    - .. 
38:
  name:  
  contain:
    - 
39:
  name:  
  contain:
    - 
40:
  name:  
  contain:
    - 
41:
  name:  
  contain:
    - 
42:
  name:  
  contain:
    - 
43:
  name:  
  contain:
    - 
44:
  name:  
  contain:
    - 
45:
  name:  
  contain:
    - 
46:
  name:  
  contain:
    - 
#47:
#  name:  
#  contain:
#    - 
48:
  name:  
  contain:
    - 
49:
  name:  
  contain:
    - 
#50:
#  name:  
#  contain:
#    - 
51:
  name:  
  contain:
    - 
52:
  name:  
  contain:
    - 
53:
  name:  
  contain:
    - 
54:
  name:  
  contain:
    - 
    - . 
55:
  name:  
  contain:
    - 
    - . 
56:
  name:  
  contain:
    - 
57:
  name:  
  contain:
    - 
58:
  name:  
  contain:
    - 
59:
  name:  
  contain:
    - 
    - .. 
    -  -
    - - 
60:
  name:  
  contain:
    - 
61:
  name:  
  contain:
    - 
62:
  name:  
  contain:
    - 
63:
  name:  
  contain:
    - 
64:
  name:  
  contain:
    - 
65:
  name:  
  contain:
    - 
66:
  name:  
  contain:
    - 
67:
  name:  
  contain:
    - 
68:
  name:  
  contain:
    - 
69:
  name:  
  contain:
    - 
70:
  name:  
  contain:
    - 
71:
  name:  
  contain:
    - 
72:
  name:  
  contain:
    - 
73:
  name:  
  contain:
    - 
74:
  name:  
  contain:
    - 
    - .. 
    - .. 
75:
  name:  
  contain:
    - 
76:
  name:  
  contain:
    - 
77:
  name: . 
  contain:
    - 
    - 
    - 
    - 
    - .. 
    - .. 
    - .. 
    - .. 
    - .. 
    -    
    - .. 
    - .. 
    - .. 
    -  . 
    - . 
  not_contain:
    - 
78:
  name: -
  contain:
    - 
    - 
    - .. 
  not_contain:
    - 
79:
  name:   
  contain:
    - 
#83:
#  name:   
#  contain:
#    - 
86:
  name: -   - 
  contain:
    - 
    - 
    - 
    - 
    - 
    - . 
  not_contain:
    - 
87:
  name:   
  contain:
    - 
89:
  name: -  
  contain:
    - -
91:
  name:  
  contain:
    -  
    - 
    - 
#92:
#  name: 
#  contain:
#    - 
99:
  name:  ,     
  contain:
    - 

200:
  name:  
  contain:
    - 

201:
  name:   
  contain:
    -   
  not_contain:
    -   
202:
  name:   
  contain:
    -   
  not_contain:
    -   
203:
  name:   
  contain:
    -   
204:
  name:   
  contain:
    -   
  not_contain:
    -   
205:
  name:   
  contain:
    -   
  not_contain:
    -   
206:
  name: -  
  contain:
    - -  
207:
  name:   ,   
  contain:
    -   ,   
208:
  name:   ,   
  contain:
    -   ,   
209:
  name:  ,  , . , . -
  contain:
    -  ,  , . , . -


рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдФрд░ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рдХреНрд╖реЗрддреНрд░ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░рджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ред

рдкреНрд░рджреЗрд╢реЛрдВ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдмрджрд▓реЗрдВ
10d9
<     -  
245d243
<     -  
265,270d262
<     - .. 
<     - .. 
<     - .. 
<     - .. 
<     - .. 
<     - .. 
452d443
<     -    *   
457d447
<     -    *   
461,462c451
<     -  ,  , . , . -
<     -   *   * .  * . -
\ No newline at end of file
---
>     -  ,  , . , . -
\ No newline at end of file


рджреЗрдЦрд╛
correct records amount: 372324
inserted 372324 records


рдХреЗрдХ рдкрд░ рдЪреЗрд░реА рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдЧреНрд░рд╛рд╣рдХ рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд╕реНрдЯрд░рд┐рд╕реНрдХ рдбрд╛рдпрдкреНрд▓реЗрди рдореИрдХреНрд░реЛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВ:

[macro-get-region]
        exten => s,1,MYSQL(Connect conn localhost user password dbname)
        exten => s,n,MYSQL(Query result ${conn} SELECT region FROM codes WHERE ${ARG1} BETWEEN first AND last LIMIT 1)
        exten => s,n,MYSQL(Fetch region ${result} region_num)
        exten => s,n,MYSQL(Clear ${result})
        exten => s,n,MYSQL(Disconnect ${conn})

рд╕рдорд╛рди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк Lua рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
local driver = require("luasql.mysql")
local env = assert (driver.mysql())
local con = assert (env:connect("dbname", "user", "password"))
local cur = assert (con:execute(string.format("select region from codes where %s between first and last limit 1", arg[1])))

row = cur:fetch ({}, "a")
if row ~= nil then
    print(row.region)
else
    print(0)
end

cur:close()
con:close()
env:close(

рд╣рд╛рд▓рд╛рдБрдХрд┐, MySQL рдХреЗ рд▓рд┐рдП SELECT рдХреНрд╡реЗрд░реАрдЬрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рдЯреВрд▓ рдЙрдкрдпреБрдХреНрдд рд╣реИред

рдЕрдкрдиреЗ рдкреНрд░рд╢рд╛рд╕рди рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВред

All Articles