جاوا پروجيڪٽ ٺاهڻ بابت هڪ سيريز مان هڪ مضمون (ٻين مواد جي لنڪ آخر ۾ آهن). ان جو مقصد اهم ٽيڪنالاجي جو تجزيو ڪرڻ آهي، نتيجو هڪ ٽيليگرام بوٽ لکڻ آهي. هن حصي ۾، اسان اسپرنگ بوٽ ۽ فلائي وي کي لانچ ڪرڻ جي ڪوشش ڪندا آهيون. نظريي جي گھٽ ۾ گھٽ مقدار، جيئن توھان چاھيو))) اسان Flyway/Liquibase جي آخري مقابلي کي غير معینہ مدت تائين ختم ڪريون ٿا ۽ نقطي تي پھچي وڃون ٿا. ۽ ان جي باوجود اهو اڳ ۾ ئي ڇڪي چڪو آهي. Flyway کي ٻه ڀيرا بيان نه ڪرڻ لاء، مون ان کي فوري طور تي اسان جي مستقبل جي JRTB منصوبي ۾ شامل ڪرڻ جو فيصلو ڪيو.
گهڻ رخي، گهڻ ماڊلر آهي:
اسان کي هن حصي جي طور تي ڇا ڪرڻ جي ضرورت آهي؟
- لانچ ڪريو اسپرنگ بوٽ ايپليڪيشن ميون جي بنياد تي.
- اتي Flyway شامل ڪريو: خوش قسمت، اهي آساني سان ضم ٿي ويا آهن.
- جدولن لاءِ اسڪيما شامل ڪريو جيڪي اسان وٽ مثال ڊيٽابيس ۾ آھن.
پرواز جو رستو ڇا آهي
ڪنهن شيءِ کي استعمال ڪرڻ لاءِ، توهان کي پهريان ڄاڻڻ جي ضرورت آهي ته اهو ڇا آهي ۽ ڇو. Flyway هڪ ڊيٽابيس ورزن ڪنٽرول اوزار آهي. لفظ چڱي ريت سڃاتل آھن، پر ڪجھھ سمجھ ۾ شامل نه ڪيو ويو آھي، صحيح؟ اچو ته ان مسئلي کي بيان ڪرڻ جي ڪوشش ڪريون جيڪو فلائي وي حل ڪري ٿو. اچو ته اسان وٽ ھڪڙو منصوبو آھي. اسان جي دنيا ۾ هر شيء وانگر، اهو مڪمل ناهي، تنهنڪري اهو ممڪن ناهي ته منصوبي جي آخري نسخي کي منصوبابندي ڪرڻ ۽ تيار ڪرڻ. هر دفعي ڪجهه غير حساب ڪتاب ظاهر ٿيندا آهن. پروجيڪٽ پنهنجي ڪم ۾ ڊيٽابيس استعمال ڪري ٿو. يقينا، جيڪڏهن پروجيڪٽ تبديل ٿئي ٿي، ڊيٽابيس جي جوڙجڪ پڻ تبديل ٿي سگهي ٿي. اچو ته اسان کي اسان جي منصوبي ۾ ادارن مان هڪ لاء نئين فيلڊ شامل ڪريو. اهو ڪيئن ڪجي؟- ھن فيلڊ کي اسان جي اداري ۾ شامل ڪريو، سڀڪنھن شيء کي اپڊيٽ ڪريو ته جيئن ڪاروبار منطق ڪم ڪري.
- ڊيٽابيس کي اپڊيٽ ڪريو. صرف ممڪن طريقو اهو آهي ته اهو دستي طور تي ڪيو وڃي. هن کي ڪرڻ لاء، توهان کي اندر وڃڻ جي ضرورت آهي ۽ رجسٽر ڪرڻ ضروري آهي sql اسڪرپٽ.
- پر جيڪڏهن اسان وٽ هڪ کان وڌيڪ جڳهون آهن جتي اسان پنهنجي پروجيڪٽ کي ترتيب ڏيون ٿا، ته پوءِ انهن مان هر هڪ ۾ ائين ڪرڻ جي ضرورت آهي؟
- ۽ جيڪڏهن اسان واپس وڃڻ چاهيون ٿا، ته اسان کي ڪيئن معلوم ٿيندو ته ڊيٽابيس جي جوڙجڪ ڪهڙي حالت ۾ آهي؟
- اسان ڪيئن پڪ ڪري سگهون ٿا ته ڊيٽابيس جي تبديلي ڪامياب هئي؟
- مان ڪيئن حاصل ڪري سگهان ٿو سڀني ڊيٽابيس جي تبديلين کي ٽريڪ ڪرڻ جو موقعو جيڪو پروجيڪٽ تي ٿي چڪو آهي؟
اسپرنگ بوٽ + فلائي وي لانچ ڪريو
بهار بوٽ ڇا آهي
اسان ڇا شروع ڪري رهيا آهيون؟... سمجھڻ لاءِ ته اسان ڇا ۽ ڇو ڪري رهيا آهيون، توهان کي اهو فيصلو ڪرڻو پوندو ته اسپرنگ بوٽ ڇا آهي. پهرين، اچو ته جلدي (چڱو، تمام جلدي) بهار جي باري ۾ ڳالهايو . هن وقت، اهو جاوا ۾ سرور ايپليڪيشنن کي ترقي ڪرڻ ۾ فيڪٽو انڊسٽري معيار آهي. ڇا جو معيار؟ مان توهان کي اهو ڪيئن بيان ڪري سگهان ٿو؟ اسپرنگ ايپليڪيشن جو کنڊر آهي، جنهن تي اسين پوءِ اڇلايون ٿا ”گوشت“ - اسان جي ڪاروباري منطق. بهار جي مدد سان (هتي مان هي ٽريسنگ پيپر استعمال ڪندس ته جيئن ٻوليون مٽائڻ ۾ وقت ضايع نه ٿئي :D)) بهار اسان کي هڪ شروعات ڏئي ٿي جتان اسان سڀ ڪجهه ڪرڻ شروع ڪريون ٿا. اهو- ڇا توھان ڊيٽابيس سان ڪم ڪرڻ چاھيو ٿا؟ ڇا توهان لاڳاپو چاهيو ٿا؟ ڇا توهان غير لاڳاپا چاهيو ٿا؟ هتي اسان بهار جي ڊيٽا سان گڏ آهيون.
- ڇا توھان http درخواستن سان ڪم ڪرڻ چاھيو ٿا؟ هتي توهان وڃو، اسپرنگ ويب (اسپرنگ ايم وي سي).
- ڇا توھان کي ھڪڙي جڳھ ۾ توھان جي سڀني شين لاءِ ڪنٽينر جي ضرورت آھي؟ هتي اسپرنگ ڪور آهي.
- ڇا توهان کي هڪ منصوبي تي سيڪيورٽي قائم ڪرڻ جي ضرورت آهي ته جيئن مختلف ڪردار ۽ حڪم جي زنجير آهن؟ بهار سيڪيورٽي.
- بس جڏهن توهان سوچيو ته اهڙي شيءِ حاصل ڪرڻ سٺو لڳندو، اهو ظاهر ٿئي ٿو ته بهار اڳ ۾ ئي آهي جيڪو توهان کي گهربل آهي، ۽ اهو جلدي ۽ آساني سان ضم ٿي وڃي ٿو.
اسپرنگ بوٽ لانچ ڪرڻ
جيئن ته اسان اڳ ۾ ئي سمجهي چڪا آهيون Maven ڇا آهي، اچو ته اسان جي ضرورتن لاء هڪ نئون منصوبو ٺاهيو. هن کي ڪرڻ لاء، توهان کي صرف هڪ ويب سائيٽ ڏانهن وڃڻ جي ضرورت آهي خاص طور تي هن معاملي لاء ٺهيل. ان کي بهار جي شروعات سڏيو ويندو آهي . هتي توهان کي ڀرڻ جي ضرورت آهي ۽ چونڊيو جيڪو توهان جي ضرورت آهي:- منصوبي جي تعمير جو اوزار gradle يا maven آهي. جئين توهان ڏسي سگهو ٿا، اينٽ جو هاڻي ذڪر نه ڪيو ويو آهي. هي هڪ سٺو اشارو آهي جنهن جي باري ۾ تعمير جا اوزار توهان جي وقت جي قابل آهن.
- جيڪا ٻولي توهان لکي سگهو ٿا اها آهي جاوا، ڪوٽلن، گرووي. هتي سڀ ڪجهه سادو آهي: اهي سڀئي JVM-جهڙا آهن ۽ آساني سان جاوا ڪوڊ هلائيندا آهن. رستي جي ذريعي، اهو ڪوٽلن کي ڏسڻ جي قابل آهي. گرووي صاف طور تي غير دلچسپ ٿي چڪو آهي (هڪ وقت هو جڏهن اهي گرووز ڏانهن تبديل ٿي ويا، پر اهو جلدي گذري ويو).
- بهار جو نسخو... هتي توهان کي سمجهڻ جي ضرورت آهي ته بهار جي مکيه حصي جا ورجن ۽ ان جا ماڊل هڪجهڙائي رکن ٿا.
- پروجيڪٽ ڊيٽا. مون اڳ ۾ ئي اهي شيون بيان ڪيون آهن.
- اسان چونڊيو ٿا ته ڪهڙو آرٽيڪل گڏ ڪيو ويندو - جار يا جنگ.
- خير، جاوا نسخو اسان جي پسنديده. ۽ تازو اهڙا ڪيترائي نسخا آيا آهن... انهن سالن کان انتظار ڪيو، ۽ هاڻي سال ۾ ٻه آهن.
- Maven - اهو ڪجهه به ناهي ته اسان توهان سان هن بابت اڳ ڳالهايو.
- جاوا اسان جو پيارو آهي: ڊي
- اچو ته ورجن 2.2.11 وٺون. جديد ترين ڇو نه؟ ڇاڪاڻ ته اهو جيترو نئون آهي، اوترو ئي وڏو موقعو آهي ته اتي ڪي ڪي ڪيڙا هجن. اسان لاء، اهو مسئلو ناهي ته ڪهڙو نسخو، پر پراڻو هڪ وڌيڪ قابل اعتماد هوندو. تنهن ڪري، اسان چونڊيو 2.2.11.
- گروپ: com.github.javarushcommunity
- آرٽيڪل: اسپرنگ بوٽ-فلائي وي-ڊيمو
- نالو: SpringBoot + Flyway Demo
- تفصيل: پروجيڪٽ اسپرنگ بوٽ ۽ فلائي وي جي وچ ۾ انضمام کي ظاهر ڪري ٿو . (ها، دستاويز لکڻ جي صلاحيت ترقي جو هڪ اهم حصو آهي :))
- پيڪيج جو نالو: com.github.javarushcommunity.springbootflywaydemo . هتي اهي فوري طور تي اسان لاءِ هڪ بنيادي پيڪيج ٺاهيندا هڪ ڪلاس سان جيڪو اسان جي ايپليڪيشن کي لانچ ڪندو.
- پيڪنگنگ: جار
- جاوا: 8. اچو ته اڳتي نه وڃو لووموموٽو ۽ سٺي پراڻي اٺ کي وٺو. 11 ڇو نه؟ ڇا لاءِ؟ اسان جي مثال لاء، مون کي نقطي نظر نه ٿو اچي.
spring.datasource.url=jdbc:mysql://localhost:3306/flyway_demo_db
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
اسان مکيه طريقو ٻيهر هلون ٿا ۽ حاصل ڪريو: هاڻي اسان کي گهٽ ۾ گهٽ هڪ لڏپلاڻ شامل ڪرڻ جي ضرورت آهي. لڏپلاڻ کي صحيح طريقي سان ترتيب ڏيڻ لاءِ، توهان کي هيٺيون ٽيمپليٽ وٺڻو پوندو: V<VERSION>__<NAME>.sql هن ٽيمپليٽ کي استعمال ڪندي، اسان مناسب فولڊر ۾ V00001__Create_country_table.sql نالي هڪ لڏپلاڻ فائل ٺاهينداسين : /src/main/resources/ db.migration/ . اچو ته ان ۾ ملڪ جي ٽيبل ٺاهي. اچو ته ڊيٽابيس جي باري ۾ ٻئي مضمون مان اسڪرپٽ وٺون . شروع ڪرڻ کان اڳ، اچو ته اندر وڃو ۽ ڪم لاءِ ڊيٽابيس ٺاھيون: flyway_demo_db. اچو ته هن کي MysqlWorkbench ذريعي ڪريون: هاڻي اسان ٻيهر مکيه طريقي سان هلائي سگهون ٿا: سڀ ڪجهه ڪم ڪيو، پر جيئن ته اسان وٽ اڃا تائين پروجيڪٽ ۾ ڪجهه ناهي، اهو ڪم ڪري چڪو آهي. بهرحال، اهو لاگز مان واضح آهي ( پڙهو ڇا لاگ آهن ) ته:
- ڊيٽابيس سان ڪاميابي سان ڳنڍيل.
- لڏپلاڻ جي تصديق ڪئي وئي آهي ۽ سڀ ڪجهه ٺيڪ آهي.
- Flyway لڏپلاڻ کي منظم ڪرڻ لاء هڪ ٽيبل ٺاهيو آهي.
- ۽ ڪهڙي لڏپلاڻ 00001 شروع ٿي - ملڪ جي تخليق ڪامياب ٿي وئي.
GO TO FULL VERSION