Site icon InoZpress

Express’те Sequelize менен миграцияларды кантип аткаруу керек

Жасалма интеллект

Жасалма интеллект. Сурет - Pixabay

Hackernoon маалыматына ылайык, Express жана Postgres колдонулган колдонмолордо Sequelize аркылуу миграцияларды жүргүзүү маалымат базасынын түзүлүшүн жоготпостон коопсуз өзгөртүүгө мүмкүндүк берет, жазат InoZpress. Бул ыкма иштеп чыгуучуларга схеманын өзгөрүүлөрүн башкарууга, мурдагы версияларга кайтууга жана таблицаларды тесттик маалыматтар менен толтурууга шарт түзөт.

Миграциялар маалымат базасынын абалын бекемдеп, маалыматтардын бүтүндүгүн камсыздаган версияланган жана артка кайтарууга мүмкүн болгон өзгөрүүлөрдү билдирет. Макалада миграциялык файлдарды түзүү, аларды базага колдонуу, өзгөртүүлөрдү артка кайтаруу жана процесстерди кол менен башкаруу үчүн Umzug сыяктуу кошумча китепканаларды пайдалануу жолдору түшүндүрүлгөн.

Долбоорду жана маалымат базасын даярдоо

Алгач Expressте Postgres менен иштөөчү долбоорду даярдоо зарыл. Негиз катары алдын ала түзүлгөн Task Manager API колдонулуп, анда структура жана негизги көз карандылыктар берилет. Тиешелүү көз карандылыктар орнотулгандан кийин, маалымат базасына кошулуу сапы .env файлына жайгаштырылат, бул туташууну ийкемдүү конфигурациялоого жардам берет.

Sequelize CLI автоматтык түрдө негизги каталогдорду түзөт — models, migrations, seeders жана config. Ушунун аркасында иштеп чыгуучу миграцияларды сактоого бирдиктүү орун алып, өзгөрүүлөрдү борборлоштурулган түрдө башкарууга жетишет. Байланыш конфигурациясы өзүнчө config.js файлына чыгарылып, катуу жазылган параметрлердин ордуна айлана-чөйрө өзгөрмөлөрүн колдонууга мүмкүнчүлүк берет.

Миграцияларды түзүү жана аткаруу

Миграциялык файлды түзүү үчүн npx sequelize-cli migration:generate буйругу колдонулат. Анда эки функция сүрөттөлөт — up, ал жаңы өзгөрүүлөрдү (мисалы, таблица түзүү) киргизет жана down, ал бул өзгөрүүлөрдү жокко чыгарат. Бул ыкма аракеттердин артка кайтарылышын жана долбоордун тейлөөсүнүн ыңгайлуулугун камсыз кылат.

Файл түзүлгөндөн кийин ал migrations папкасына жайгаштырылат, өзгөрүүлөр болсо npx sequelize-cli db:migrate буйругу аркылуу колдонулат. Sequelize CLI бул учурда аткарылган миграциялардын тизмесин сактоо үчүн кызматтык SequelizeMeta таблицасын түзөт. Зарыл учурда иштеп чыгуучу өзүнчө файлдарды иштетип же өзгөрүүлөрдү толугу менен артка кайтара алат.

Моделдер менен иштөө жана схеманы өзгөртүү

Миграциялар өзгөчө учурдагы моделдерди өзгөртүү зарыл болгондо баалуу болот. Мисалы, dueDate аттуу жаңы тилке кошуу үчүн өзүнчө миграциялык файл түзүлөт, бул маалыматтарды сактап калууга жана башкарууну камсыз кылууга мүмкүндүк берет. Бардык өзгөрүүлөр models/task.js файлына синхрондоштурулуп, схема менен маалымат базасынын түзүлүшүнүн шайкештиги камсыздалат.

Киргизилген өзгөрүүлөр API деңгээлинде да чагылдырылат: жаңы талааларды тапшырмаларды түзүүдө колдонууга, датанын форматын жана актуалдуулугун текшерүүгө болот. Бул ыкма маалыматтардын бардык деңгээлде — моделден баштап контроллерго чейин — бүтүндүгүн камсыз кылат.

Seeder жана Umzug колдонуу

Sequelize CLI ошондой эле маалымат базасын тесттик маалыматтар менен толтурууга мүмкүндүк берген «seeders» механизмин сунуштайт. Seeder файлдары npx sequelize-cli seed:generate буйругу менен түзүлүп, база демонстрациялык жазуулар менен толтурулат. Киргизилген өзгөрүүлөрдү db:seed:undo буйругу аркылуу оңой артка кайтарууга болот.

Миграцияларды ийкемдүү башкаруу үчүн Umzug китепканасы колдонулат. Ал Sequelize менен интеграцияланып, өзгөрүүлөрдү кол менен баштап же артка кайтарууга шарт түзөт. Бул ыкма татаал жаңыртууларда же аткаруунун тартибин катуу көзөмөлдөө зарыл болгондо пайдалуу.

Биз буга чейин жазганыбызды эскертебиз, AI-разработка катасыз.

Exit mobile version