லிக்விபேஸைப் பயன்படுத்தி காலில் சுடுவதைத் தவிர்ப்பது எப்படி

இதற்கு முன் நடந்ததில்லை, இதோ மீண்டும் செல்கிறோம்!

எங்களின் அடுத்த திட்டத்தில், எதிர்காலத்தில் சிக்கல்களைத் தவிர்க்க ஆரம்பத்திலிருந்தே Liquibase ஐப் பயன்படுத்த முடிவு செய்தோம். அது மாறிவிடும், அனைத்து இளம் குழு உறுப்பினர்களும் அதை எவ்வாறு சரியாகப் பயன்படுத்துவது என்பது தெரியாது. நான் ஒரு உள் பட்டறையை நடத்தினேன், அதை ஒரு கட்டுரையாக மாற்ற முடிவு செய்தேன்.

கட்டுரையில் பயனுள்ள உதவிக்குறிப்புகள் மற்றும் தொடர்புடைய தரவுத்தள இடம்பெயர்வு கருவிகள், குறிப்பாக Liquibase உடன் பணிபுரியும் போது நீங்கள் விழக்கூடிய மூன்று வெளிப்படையான ஆபத்துகளின் விளக்கமும் அடங்கும். ஜூனியர் மற்றும் மிடில் லெவல்களில் ஜாவா டெவலப்பர்களுக்காக வடிவமைக்கப்பட்டுள்ளது; அதிக அனுபவம் வாய்ந்த டெவலப்பர்களுக்கு இது ஏற்கனவே தெரிந்ததை மீண்டும் கட்டமைக்கவும் மீண்டும் செய்யவும் ஆர்வமாக இருக்கலாம்.

லிக்விபேஸைப் பயன்படுத்தி காலில் சுடுவதைத் தவிர்ப்பது எப்படி

Liquibase மற்றும் Flyway ஆகியவை ஜாவா உலகில் உள்ள தொடர்புடைய கட்டமைப்புகளின் பதிப்புக் கட்டுப்பாட்டுச் சிக்கல்களைத் தீர்ப்பதற்கான முக்கிய போட்டித் தொழில்நுட்பங்களாகும். முதலாவது முற்றிலும் இலவசம், நடைமுறையில் இது பெரும்பாலும் பயன்பாட்டிற்குத் தேர்ந்தெடுக்கப்படுகிறது, அதனால்தான் லிக்விபேஸ் வெளியீட்டின் ஹீரோவாக தேர்ந்தெடுக்கப்பட்டது. இருப்பினும், உங்கள் பயன்பாட்டு கட்டமைப்பைப் பொறுத்து விவரிக்கப்பட்டுள்ள சில நடைமுறைகள் உலகளாவியதாக இருக்கலாம்.

தொடர்புடைய கட்டமைப்புகளின் இடம்பெயர்வு என்பது தொடர்புடைய தரவுக் கடைகளின் பலவீனமான நெகிழ்வுத்தன்மையைச் சமாளிக்க ஒரு கட்டாய வழியாகும். OOP பேஷன் சகாப்தத்தில், தரவுத்தளங்களுடன் பணிபுரியும் பாணியானது, ஸ்கீமாவை ஒரு முறை விவரிப்போம், அதை மீண்டும் தொடக்கூடாது என்பதாகும். ஆனால் உண்மை என்னவென்றால், விஷயங்கள் மாறுகின்றன, மேலும் அட்டவணை கட்டமைப்பில் மாற்றங்கள் அடிக்கடி தேவைப்படுகின்றன. இயற்கையாகவே, செயல்முறை வலி மற்றும் விரும்பத்தகாததாக இருக்கும்.

உங்கள் திட்டத்தில் ஒரு நூலகத்தைச் சேர்ப்பதற்கான தொழில்நுட்பம் மற்றும் வழிமுறைகளின் விளக்கத்திற்கு நான் ஆழமாக செல்லமாட்டேன்; இந்த தலைப்பில் சில கட்டுரைகள் எழுதப்பட்டுள்ளன:

கூடுதலாக, பயனுள்ள உதவிக்குறிப்புகள் என்ற தலைப்பில் ஏற்கனவே ஒரு சிறந்த கட்டுரை இருந்தது:

குறிப்புகள்

வியர்வை, இரத்தம் மற்றும் புலம்பெயர்ந்த பிரச்சினைகளைத் தீர்க்கும் வலியால் பிறந்த எனது ஆலோசனைகளையும் கருத்துகளையும் பகிர்ந்து கொள்ள விரும்புகிறேன்.

1. வேலையைத் தொடங்குவதற்கு முன், நீங்கள் சிறந்த நடைமுறைகள் பகுதியைப் பற்றி நன்கு அறிந்திருக்க வேண்டும் வலைத்தளத்தில் லிக்விபேஸ்

அங்கு எளிமையான ஆனால் மிக முக்கியமான விஷயங்கள் விவரிக்கப்பட்டுள்ளன, இது இல்லாமல் நூலகத்தைப் பயன்படுத்துவது உங்கள் வாழ்க்கையை சிக்கலாக்கும். எடுத்துக்காட்டாக, மாற்றங்களை நிர்வகிப்பதற்கான கட்டமைக்கப்படாத அணுகுமுறை விரைவில் அல்லது பின்னர் குழப்பம் மற்றும் உடைந்த இடம்பெயர்வுகளுக்கு வழிவகுக்கும். நீங்கள் ஒரே நேரத்தில் தரவுத்தள அமைப்பு மற்றும் சேவை தர்க்கத்தில் பரஸ்பரம் சார்ந்து மாற்றங்களைச் செய்யவில்லை என்றால், இது சிவப்பு சோதனைகள் அல்லது உடைந்த சூழலுக்கு வழிவகுக்கும் அதிக நிகழ்தகவு உள்ளது. கூடுதலாக, அதிகாரப்பூர்வ இணையதளத்தில் Liquibase ஐப் பயன்படுத்துவதற்கான பரிந்துரைகளில், முக்கிய இடம்பெயர்வு ஸ்கிரிப்ட்களுடன் ரோல்பேக் ஸ்கிரிப்ட்களின் மேம்பாடு மற்றும் சோதனை பற்றிய ஒரு உட்பிரிவு உள்ளது. சரி, கட்டுரையில் https://habr.com/ru/post/178665/ இடம்பெயர்வுகள் மற்றும் திரும்பப்பெறும் பொறிமுறை தொடர்பான குறியீடு எடுத்துக்காட்டுகள் உள்ளன.

2. நீங்கள் இடம்பெயர்வு கருவிகளைப் பயன்படுத்தத் தொடங்கினால், தரவுத்தள அமைப்பில் கைமுறை திருத்தங்களை அனுமதிக்க வேண்டாம்

பழமொழி சொல்வது போல்: "ஒருமுறை பெர்சில், எப்போதும் பெர்சில்." உங்கள் விண்ணப்பத்தின் அடிப்படையை Liquibase நிர்வகிக்கத் தொடங்கினால், ஏதேனும் கைமுறை மாற்றங்கள் உடனடியாக ஒரு சீரற்ற நிலைக்கு இட்டுச் செல்கின்றன, மேலும் மாற்றங்கள் மீதான நம்பிக்கையின் அளவு பூஜ்ஜியமாகிவிடும். சாத்தியமான அபாயங்களில் தரவுத்தளத்தை மீட்டெடுக்க பல மணிநேரங்கள் செலவழிக்கப்படும்; மோசமான சூழ்நிலையில், ஒரு செயலிழந்த சேவையகம். உங்கள் குழுவில் "பழைய பள்ளி" DBA கட்டிடக் கலைஞர் இருந்தால், நிபந்தனைக்குட்பட்ட SQL டெவலப்பரின் சொந்த புரிதலின்படி தரவுத்தளத்தை வெறுமனே திருத்தினால், எவ்வளவு மோசமான விஷயங்கள் இருக்கும் என்பதை பொறுமையாகவும் சிந்தனையுடனும் அவருக்கு விளக்கவும்.

3. மாற்றங்கள் ஏற்கனவே களஞ்சியத்தில் தள்ளப்பட்டிருந்தால், திருத்துவதைத் தவிர்க்கவும்

மற்றொரு டெவலப்பர் இழுத்து, மாற்றங்களைச் செய்தால், அது பின்னர் திருத்தப்படும், பயன்பாட்டைத் தொடங்கும் போது அவர் பிழையைப் பெறும்போது அவர் நிச்சயமாக ஒரு நல்ல வார்த்தையுடன் உங்களை நினைவில் கொள்வார். மாற்றங்களைத் திருத்துவது எப்படியாவது வளர்ச்சியில் கசிந்தால், நீங்கள் ஹாட்ஃபிக்ஸ்களின் வழுக்கும் சாய்வைப் பின்பற்ற வேண்டும். சிக்கலின் சாராம்சம் ஹாஷ் தொகை மூலம் மாற்றங்களை சரிபார்ப்பதில் தங்கியுள்ளது - லிக்விபேஸின் முக்கிய வழிமுறை. மாற்றங்கள் குறியீட்டைத் திருத்தும்போது, ​​ஹாஷ் அளவு மாறுகிறது. தரவுகளை இழக்காமல், புதிதாக முழு தரவுத்தளத்தையும் வரிசைப்படுத்தினால் மட்டுமே மாற்றங்களைத் திருத்துவது சாத்தியமாகும். இந்த வழக்கில், SQL அல்லது XML குறியீட்டை மறுசீரமைப்பது, மாறாக, வாழ்க்கையை எளிதாக்குகிறது மற்றும் இடம்பெயர்வுகளை மேலும் படிக்கக்கூடியதாக மாற்றும். ஒரு உதாரணம், பயன்பாட்டின் தொடக்கத்தில், மூல தரவுத்தளத்தின் திட்டம் குழுவிற்குள் ஒப்புக் கொள்ளப்பட்ட சூழ்நிலையாகும்.

4. முடிந்தால் சரிபார்க்கப்பட்ட தரவுத்தள காப்புப்பிரதிகளை வைத்திருக்கவும்

இங்கே, நான் நினைக்கிறேன், எல்லாம் தெளிவாக உள்ளது. திடீரென்று இடம்பெயர்வு தோல்வியுற்றால், எல்லாவற்றையும் திரும்பப் பெறலாம். லிக்விபேஸில் மாற்றங்களைத் திரும்பப் பெறுவதற்கான ஒரு கருவி உள்ளது, ஆனால் ரோல்பேக் ஸ்கிரிப்ட்களும் டெவலப்பரால் எழுதப்படுகின்றன, மேலும் அவை முக்கிய மாற்றங்களின் ஸ்கிரிப்ட்களின் அதே நிகழ்தகவுடன் சிக்கல்களை ஏற்படுத்தலாம். எந்தவொரு சந்தர்ப்பத்திலும் காப்புப்பிரதிகளுடன் பாதுகாப்பாக விளையாடுவது பயனுள்ளது என்பதே இதன் பொருள்.

5. முடிந்தால், வளர்ச்சியில் நிரூபிக்கப்பட்ட தரவுத்தள காப்புப்பிரதிகளைப் பயன்படுத்தவும்

இது ஒப்பந்தங்கள் மற்றும் தனியுரிமைக்கு முரணாக இல்லாவிட்டால், தரவுத்தளத்தில் தனிப்பட்ட தரவு எதுவும் இல்லை, மேலும் இரண்டு சூரியன்கள் எடையும் இல்லை - நேரடி இடம்பெயர்வு சேவையகங்களில் அதைப் பயன்படுத்துவதற்கு முன், டெவலப்பரின் கணினியில் இது எவ்வாறு செயல்படும் என்பதை நீங்கள் சரிபார்த்து கணக்கிடலாம். கிட்டத்தட்ட 100% இடம்பெயர்வின் போது சாத்தியமான சிக்கல்கள்.

6. குழுவில் உள்ள மற்ற டெவலப்பர்களுடன் தொடர்பு கொள்ளவும்

நன்கு ஒழுங்கமைக்கப்பட்ட வளர்ச்சி செயல்பாட்டில், யார் என்ன செய்கிறார்கள் என்பது குழுவில் உள்ள அனைவருக்கும் தெரியும். உண்மையில், இது பெரும்பாலும் இல்லை, எனவே, உங்கள் பணியின் ஒரு பகுதியாக தரவுத்தள கட்டமைப்பில் மாற்றங்களைத் தயாரிக்கிறீர்கள் என்றால், இது பற்றி முழு குழுவிற்கும் கூடுதலாக அறிவிப்பது நல்லது. யாராவது இணையாக மாற்றங்களைச் செய்தால், நீங்கள் கவனமாக ஒழுங்கமைக்க வேண்டும். தொடக்கத்தில் மட்டுமல்ல, வேலையை முடித்த பிறகு சக ஊழியர்களுடன் தொடர்புகொள்வது மதிப்பு. மாற்றங்களின் பல சாத்தியமான சிக்கல்கள் குறியீடு மதிப்பாய்வு கட்டத்தில் தீர்க்கப்படும்.

7. நீங்கள் என்ன செய்கிறீர்கள் என்று சிந்தியுங்கள்!

எந்தவொரு சூழ்நிலைக்கும் பொருந்தக்கூடிய சுய-தெளிவான ஆலோசனையாக இது தோன்றும். இருப்பினும், டெவலப்பர் அவர் என்ன செய்கிறார் மற்றும் அது என்ன பாதிக்கலாம் என்பதை மீண்டும் ஒருமுறை பகுப்பாய்வு செய்திருந்தால், பல சிக்கல்களைத் தவிர்க்கலாம். இடம்பெயர்வுகளுடன் பணிபுரிய எப்போதும் கூடுதல் கவனமும் துல்லியமும் தேவை.

பொறிகள்

மேலே உள்ள அறிவுரைகளை நீங்கள் பின்பற்றவில்லை என்றால் நீங்கள் விழக்கூடிய பொதுவான பொறிகளைப் பற்றி இப்போது பார்க்கலாம், நீங்கள் சரியாக என்ன செய்ய வேண்டும்?

சூழ்நிலை 1: இரண்டு டெவலப்பர்கள் ஒரே நேரத்தில் புதிய மாற்றங்களைச் சேர்க்க முயற்சிக்கின்றனர்

லிக்விபேஸைப் பயன்படுத்தி காலில் சுடுவதைத் தவிர்ப்பது எப்படி
வாஸ்யாவும் பெட்யாவும் ஒருவரையொருவர் அறியாமல், மாற்றங்களின் பதிப்பு 4 ஐ உருவாக்க விரும்புகிறார்கள். அவர்கள் தரவுத்தள கட்டமைப்பில் மாற்றங்களைச் செய்தார்கள் மற்றும் வெவ்வேறு மாற்றப்பட்ட கோப்புகளுடன் இழுக்கும் கோரிக்கையை வெளியிட்டனர். பின்வரும் செயல்பாட்டு வழிமுறை முன்மொழியப்பட்டது:

எப்படி முடிவு செய்வது

  1. எப்படியாவது, சகாக்கள் தங்கள் மாற்றங்கள் எந்த வரிசையில் செல்ல வேண்டும் என்பதை ஒப்புக் கொள்ள வேண்டும், எடுத்துக்காட்டாக, பெடின் முதலில் பயன்படுத்தப்பட வேண்டும்.
  2. யாரோ ஒருவர் இரண்டாவதாகத் தம்முடன் சேர்த்து, வாஸ்யாவின் மாற்றத்தை பதிப்பு 5 உடன் குறிக்க வேண்டும். இதை செர்ரி பிக் அல்லது நேர்த்தியாக ஒன்றிணைத்தல் மூலம் செய்யலாம்.
  3. மாற்றங்களுக்குப் பிறகு, எடுக்கப்பட்ட செயல்களின் செல்லுபடியை நீங்கள் கண்டிப்பாக சரிபார்க்க வேண்டும்.
    உண்மையில், Liquibase பொறிமுறைகள் களஞ்சியத்தில் இரண்டு பதிப்பு 4 மாற்றங்களை வைத்திருக்க உங்களை அனுமதிக்கும், எனவே நீங்கள் எல்லாவற்றையும் அப்படியே விட்டுவிடலாம். அதாவது, நீங்கள் வெவ்வேறு பெயர்களுடன் பதிப்பு 4 இல் இரண்டு மாற்றங்களைக் கொண்டிருப்பீர்கள். இந்த அணுகுமுறையின் மூலம், தரவுத்தளப் பதிப்புகளுக்குச் செல்வது பின்னர் மிகவும் கடினமாகிறது.

கூடுதலாக, லிக்விபேஸ், ஹாபிட்களின் வீட்டைப் போலவே, பல ரகசியங்களை வைத்திருக்கிறது. அவற்றில் ஒன்று ValidCheckSum விசையாகும், இது பதிப்பு 1.7 இல் தோன்றியது மற்றும் தரவுத்தளத்தில் என்ன சேமிக்கப்பட்டிருந்தாலும், ஒரு குறிப்பிட்ட மாற்றத்திற்கான சரியான ஹாஷ் மதிப்பைக் குறிப்பிட உங்களை அனுமதிக்கிறது. ஆவணப்படுத்தல் https://www.liquibase.org/documentation/changeset.html பின்வருமாறு கூறுகிறார்:

தரவுத்தளத்தில் என்ன சேமிக்கப்பட்டிருந்தாலும், இந்த changeSet க்கு செல்லுபடியாகும் என்று கருதப்படும் ஒரு செக்சம் சேர்க்கவும். நீங்கள் மாற்றியமைப்பை மாற்ற வேண்டும் மற்றும் அது ஏற்கனவே இயங்கிய தரவுத்தளங்களில் பிழைகள் எறியப்படுவதை விரும்பவில்லை (பரிந்துரைக்கப்பட்ட செயல்முறை அல்ல)

ஆம், ஆம், இந்த நடைமுறை பரிந்துரைக்கப்படவில்லை. ஆனால் சில நேரங்களில் ஒரு வலுவான ஒளி மந்திரவாதி இருண்ட நுட்பங்களையும் மாஸ்டர்

சூழ்நிலை 2: தரவு சார்ந்த இடம்பெயர்வு

லிக்விபேஸைப் பயன்படுத்தி காலில் சுடுவதைத் தவிர்ப்பது எப்படி

நேரடி சேவையகங்களிலிருந்து தரவுத்தள காப்புப்பிரதிகளைப் பயன்படுத்தும் திறன் உங்களிடம் இல்லை என்று வைத்துக்கொள்வோம். பெட்யா ஒரு மாற்றத்தை உருவாக்கி, அதை உள்நாட்டில் சோதித்து, அவர் சொல்வது சரிதான் என்ற முழு நம்பிக்கையுடன், டெவலப்பரிடம் இழுக்க கோரிக்கையை வைத்தார். ஒரு வேளை, பெட்டியா அதைச் சரிபார்த்தாரா என்பதைத் திட்டத் தலைவர் தெளிவுபடுத்தினார், பின்னர் அதைச் சேர்த்தார். ஆனால் டெவலப்மெண்ட் சர்வரில் வரிசைப்படுத்தல் வீழ்ச்சியடைந்தது.

உண்மையில், இது சாத்தியம், யாரும் இதிலிருந்து விடுபடவில்லை. அட்டவணை அமைப்பில் மாற்றங்கள் எப்படியாவது தரவுத்தளத்திலிருந்து குறிப்பிட்ட தரவுகளுடன் இணைக்கப்பட்டால் இது நிகழ்கிறது. வெளிப்படையாக, Petya இன் தரவுத்தளமானது சோதனைத் தரவுகளால் மட்டுமே நிரப்பப்பட்டிருந்தால், அது அனைத்து சிக்கல் நிகழ்வுகளையும் உள்ளடக்காது. எடுத்துக்காட்டாக, ஒரு அட்டவணையை நீக்கும் போது, ​​மற்ற டேபிள்களில் வெளிநாட்டு விசையின் பதிவுகள் உள்ளன, அவை நீக்கப்படும் ஒன்றில் உள்ள பதிவுகளுடன் தொடர்புடையவை. அல்லது ஒரு நெடுவரிசை வகையை மாற்றும்போது, ​​100% தரவை புதிய வகைக்கு மாற்ற முடியாது என்று மாறிவிடும்.

எப்படி முடிவு செய்வது

  • இடம்பெயர்வுடன் ஒருமுறை பயன்படுத்தப்படும் சிறப்பு ஸ்கிரிப்ட்களை எழுதவும் மற்றும் தரவை சரியான வடிவத்திற்கு கொண்டு வரவும். இடம்பெயர்வுகளைப் பயன்படுத்திய பிறகு தரவை புதிய கட்டமைப்புகளுக்கு மாற்றுவதில் உள்ள சிக்கலைத் தீர்க்க இது ஒரு பொதுவான வழியாகும், ஆனால் சிறப்பு சந்தர்ப்பங்களில் இதேபோன்ற ஒன்றைப் பயன்படுத்தலாம். இந்த பாதை, நிச்சயமாக, எப்போதும் கிடைக்காது, ஏனெனில் நேரடி சேவையகங்களில் தரவைத் திருத்துவது ஆபத்தானது மற்றும் அழிவுகரமானது.
  • ஏற்கனவே உள்ள மாற்றங்களைத் திருத்துவது மற்றொரு கடினமான வழி. சிரமம் என்னவென்றால், ஏற்கனவே உள்ள வடிவத்தில் ஏற்கனவே பயன்படுத்தப்பட்ட அனைத்து தரவுத்தளங்களும் மீட்டமைக்கப்பட வேண்டும். முழு பின்தள குழுவும் புதிதாக தரவுத்தளத்தை உள்நாட்டில் உருட்ட வேண்டிய கட்டாயத்தில் இருக்கும்.
  • மேலும் மிகவும் உலகளாவிய வழி, டெவலப்பரின் சூழலுக்கு தரவுடனான சிக்கலை மாற்றுவது, அதே சூழ்நிலையை மீண்டும் உருவாக்குவது மற்றும் உடைந்த ஒன்றில் புதிய மாற்றத்தைச் சேர்ப்பது, இது சிக்கலைத் தவிர்க்கும்.
    லிக்விபேஸைப் பயன்படுத்தி காலில் சுடுவதைத் தவிர்ப்பது எப்படி

பொதுவாக, தரவுத்தளமானது உற்பத்தி சேவையக தரவுத்தளத்தின் கலவையில் ஒத்ததாக இருந்தால், இடம்பெயர்வுகளில் சிக்கல்கள் வெகுதூரம் செல்லும் வாய்ப்பு குறைவு. மற்றும், நிச்சயமாக, நீங்கள் களஞ்சியத்திற்கு ஒரு மாற்றத்தை அனுப்பும் முன், அது எதையும் உடைக்குமா என்பதை நீங்கள் பலமுறை சிந்திக்க வேண்டும்.

நிலைமை 3. லிக்விபேஸ் உற்பத்திக்குப் பிறகு பயன்படுத்தத் தொடங்குகிறது

டீம் லீட் பெட்யாவிடம் லிக்விபேஸை திட்டத்தில் சேர்க்கும்படி கேட்டுக் கொண்டார் என்று வைத்துக்கொள்வோம், ஆனால் திட்டம் ஏற்கனவே தயாரிப்பில் உள்ளது மற்றும் ஏற்கனவே தரவுத்தள அமைப்பு உள்ளது.

அதன்படி, சிக்கல் என்னவென்றால், எந்தவொரு புதிய சேவையகங்கள் அல்லது டெவலப்பர் இயந்திரங்களில், இந்த அட்டவணைகள் புதிதாக மீண்டும் உருவாக்கப்பட வேண்டும், மேலும் தற்போதுள்ள சூழல் ஒரு நிலையான நிலையில் இருக்க வேண்டும், புதிய மாற்றங்களை ஏற்க தயாராக இருக்க வேண்டும்.

எப்படி முடிவு செய்வது

மேலும் பல வழிகள் உள்ளன:

  • புதிய சூழலைத் தொடங்கும்போது கைமுறையாகப் பயன்படுத்தப்பட வேண்டிய தனி ஸ்கிரிப்டை வைத்திருப்பது முதல் மற்றும் மிகவும் வெளிப்படையானது.
  • இரண்டாவது குறைவான வெளிப்படையானது, மற்றொரு லிக்விபேஸ் சூழலில் இருக்கும் லிக்விபேஸ் இடம்பெயர்வைக் கொண்டு, அதைப் பயன்படுத்தவும். Liquibase சூழல் பற்றி இங்கே மேலும் படிக்கலாம்: https://www.liquibase.org/documentation/contexts.html. பொதுவாக, இது ஒரு சுவாரஸ்யமான பொறிமுறையாகும், இது வெற்றிகரமாக பயன்படுத்தப்படலாம், எடுத்துக்காட்டாக, சோதனைக்கு.
  • மூன்றாவது பாதை பல படிகளைக் கொண்டுள்ளது. முதலில், ஏற்கனவே உள்ள அட்டவணைகளுக்கு ஒரு இடம்பெயர்வு உருவாக்கப்பட வேண்டும். பின்னர் அது சில சூழலில் பயன்படுத்தப்பட வேண்டும், இதனால் அதன் ஹாஷ் தொகை பெறப்படும். அடுத்த கட்டமாக எங்களின் காலியாக இல்லாத சர்வரில் வெற்று லிக்விபேஸ் டேபிள்களை துவக்க வேண்டும், மேலும் மாற்றங்களை பயன்படுத்திய வரலாற்றைக் கொண்ட அட்டவணையில், தரவுத்தளத்தில் ஏற்கனவே உள்ள மாற்றங்களுடன் "பயன்படுத்துவது போல்" மாற்றங்களைப் பற்றி கைமுறையாக பதிவு செய்யலாம். . எனவே, ஏற்கனவே உள்ள சேவையகத்தில், வரலாறு கவுண்டவுன் பதிப்பு 2 இலிருந்து தொடங்கும், மேலும் அனைத்து புதிய சூழல்களும் ஒரே மாதிரியாக செயல்படும்.
    லிக்விபேஸைப் பயன்படுத்தி காலில் சுடுவதைத் தவிர்ப்பது எப்படி

சூழ்நிலை 4. இடம்பெயர்வுகள் பெரியதாகி, முடிக்க நேரமில்லை

சேவை மேம்பாட்டின் தொடக்கத்தில், ஒரு விதியாக, Liquibase ஒரு வெளிப்புற சார்புநிலையாகப் பயன்படுத்தப்படுகிறது, மேலும் பயன்பாடு தொடங்கும் போது அனைத்து இடம்பெயர்வுகளும் செயலாக்கப்படும். இருப்பினும், காலப்போக்கில், பின்வரும் நிகழ்வுகளில் நீங்கள் தடுமாறலாம்:

  • இடம்பெயர்வுகள் பெரியதாகி முடிவதற்கு நீண்ட நேரம் எடுக்கும்.
  • விநியோகிக்கப்பட்ட சூழல்களில் இடம்பெயர்வு தேவை, எடுத்துக்காட்டாக, ஒரே நேரத்தில் பல தரவுத்தள சேவையக நிகழ்வுகளில்.
    இந்த நிலையில், அதிக நேரம் இடம்பெயர்வுகளைப் பயன்படுத்துவதால், பயன்பாடு தொடங்கும் போது காலாவதியாகிவிடும். கூடுதலாக, ஒவ்வொரு பயன்பாட்டு நிகழ்வுக்கும் தனித்தனியாக இடம்பெயர்வுகளைப் பயன்படுத்துவதால், வெவ்வேறு சேவையகங்கள் ஒத்திசைவில்லாமல் இருக்கலாம்.

எப்படி முடிவு செய்வது

இதுபோன்ற சந்தர்ப்பங்களில், உங்கள் திட்டம் ஏற்கனவே பெரியதாக இருக்கலாம், ஒருவேளை வயது வந்தவராக இருக்கலாம், மேலும் Liquibase ஒரு தனி வெளிப்புற கருவியாக செயல்படத் தொடங்குகிறது. உண்மை என்னவென்றால், லிக்விபேஸ் ஒரு நூலகமாக ஒரு ஜார் கோப்பாக தொகுக்கப்பட்டுள்ளது, மேலும் ஒரு திட்டத்திற்குள் அல்லது சுயாதீனமாக ஒரு சார்புநிலையாக செயல்பட முடியும்.

முழுமையான பயன்முறையில், உங்கள் CI/CD சூழலுக்கு அல்லது உங்கள் கணினி நிர்வாகிகள் மற்றும் வரிசைப்படுத்தல் நிபுணர்களின் வலுவான தோள்களுக்கு இடம்பெயர்வுகளை செயல்படுத்துவதை விட்டுவிடலாம். இதைச் செய்ய, உங்களுக்கு Liquibase கட்டளை வரி தேவைப்படும் https://www.liquibase.org/documentation/command_line.html. இந்த பயன்முறையில், தேவையான அனைத்து இடம்பெயர்வுகளும் மேற்கொள்ளப்பட்ட பிறகு பயன்பாட்டைத் தொடங்குவது சாத்தியமாகும்.

முடிவுக்கு

உண்மையில், தரவுத்தள இடம்பெயர்வுகளுடன் பணிபுரியும் போது இன்னும் பல ஆபத்துகள் இருக்கலாம், மேலும் பலவற்றிற்கு ஆக்கப்பூர்வமான அணுகுமுறை தேவைப்படுகிறது. நீங்கள் கருவியை சரியாகப் பயன்படுத்தினால், இந்த ஆபத்துகளில் பெரும்பாலானவற்றைத் தவிர்க்கலாம் என்பதை புரிந்துகொள்வது அவசியம். குறிப்பாக, பட்டியலிடப்பட்ட அனைத்து சிக்கல்களையும் வெவ்வேறு வடிவங்களில் நான் சமாளிக்க வேண்டியிருந்தது, அவற்றில் சில எனது தவறுகளின் விளைவாகும். பெரும்பாலும் இது கவனக்குறைவு காரணமாக நிகழ்கிறது, ஆனால் சில நேரங்களில் கருவியைப் பயன்படுத்த குற்றவியல் இயலாமை காரணமாகும்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்