hbm2ddl.auto=update
উত্পাদনের পরিবেশে ডেটাবেস স্কিমাকে আপডেট করতে কনফিগার করা হাইবারনেট অ্যাপ্লিকেশনগুলি চালানো কি ঠিক ?
hbm2ddl.auto=update
উত্পাদনের পরিবেশে ডেটাবেস স্কিমাকে আপডেট করতে কনফিগার করা হাইবারনেট অ্যাপ্লিকেশনগুলি চালানো কি ঠিক ?
উত্তর:
না, এটি অনিরাপদ।
হাইবারনেট টিমের সর্বোত্তম প্রচেষ্টা সত্ত্বেও, আপনি কেবল উত্পাদনে স্বয়ংক্রিয় আপডেটগুলির উপর নির্ভর করতে পারবেন না । আপনার নিজের প্যাচগুলি লিখুন, ডিবিএর সাথে সেগুলি পর্যালোচনা করুন, তাদের পরীক্ষা করুন, তারপরে ম্যানুয়ালি প্রয়োগ করুন।
তাত্ত্বিকভাবে, যদি hbm2ddl আপডেট হয় যদি বিকাশে কাজ করে তবে এটি উত্পাদনেও কাজ করা উচিত। কিন্তু বাস্তবে, এটি সবসময় হয় না।
এমনকি যদি এটি ঠিকঠাক কাজ করে তবে এটি উপ-অনুকূল হতে পারে। ডিবিএগুলিকে এক কারণে অনেক বেশি অর্থ প্রদান করা হয়।
আমরা এটি এমন একটি অ্যাপ্লিকেশন নিয়ে তৈরি করি যা মিশন সমালোচনামূলক নয় এবং কর্মীদের জন্য খুব বেশি বেতনভোগী ডিবিএ না নিয়েও রয়েছে। এটি কেবলমাত্র একটি কম ম্যানুয়াল প্রক্রিয়া যা মানুষের ত্রুটির সাথে সম্পর্কিত - অ্যাপ্লিকেশনটি পার্থক্যটি সনাক্ত করতে পারে এবং সঠিক কাজটি করতে পারে, এবং আপনি সম্ভবত এটি বিভিন্ন বিকাশ এবং পরীক্ষার পরিবেশে পরীক্ষা করেছেন।
একটি সতর্কতামূলক - একটি ক্লাস্টার্ড পরিবেশে আপনি এড়াতে চাইতে পারেন কারণ একাধিক অ্যাপ একই সাথে আসতে পারে এবং স্কিমাকে সংশোধন করার চেষ্টা করতে পারে যা খারাপ হতে পারে। বা এমন কোনও ব্যবস্থা রাখুন যেখানে স্কিমার আপডেটের জন্য কেবলমাত্র একটি উদাহরণ অনুমোদিত।
হাইবারনেট নির্মাতারা তাদের "জাভা পার্সিস্টিস্ট উইথ হাইবারনেট" বইয়ের একটি উত্পাদন পরিবেশে এমনভাবে নিরুৎসাহিত করেন :
সতর্কতা: আমরা দেখেছি হাইবারনেট ব্যবহারকারীরা কোনও প্রোডাক্ট ডেটাবেসের স্কিমাকে স্বয়ংক্রিয়ভাবে আপডেট করতে স্কিমাআপেট ব্যবহার করতে চেষ্টা করছে। এটি দ্রুত বিপর্যয়ে শেষ হতে পারে এবং আপনার ডিবিএ দ্বারা অনুমতি দেওয়া হবে না।
আপডেটের চেঞ্জলগ রাখার জন্য লিকুইবেস এক্সএমএল দেখুন। আমি এই বছর পর্যন্ত এটি কখনও ব্যবহার করি নি, তবে আমি দেখেছি যে এটি শিখতে এবং ডিবি সংশোধন নিয়ন্ত্রণ / মাইগ্রেশন / পরিবর্তন পরিচালনাকে খুব বোকা বানানো খুব সহজ। আমি একটি গ্রোভি / গ্রেইস প্রকল্পে কাজ করি এবং গ্রিলস তার সমস্ত ওআরএমের নীচে হাইবারনেট ব্যবহার করে ("GORM" নামে পরিচিত)। আমরা সমস্ত এসকিউএল স্কিমা পরিবর্তনগুলি পরিচালনা করতে লিকুইবেস ব্যবহার করি, যা আমাদের অ্যাপ্লিকেশন নতুন বৈশিষ্ট্যগুলির সাথে বিকশিত হওয়ায় আমরা প্রায়শই প্রায়শই করি।
মূলত, আপনি আপনার অ্যাপ্লিকেশনটি বিকশিত হওয়ার সাথে সাথে যোগ করতে চালিয়ে যাওয়া এমন একটি এক্সএমএল ফাইল রাখেন। এই ফাইলটি আপনার বাকী প্রকল্পের সাথে গিট (বা আপনি যা ব্যবহার করছেন) রেখে দেওয়া হয়েছে। যখন আপনার অ্যাপ্লিকেশন স্থাপন করা হবে, লিকুইবেস আপনি যে ডিবিতে সংযোগ করছেন তা চেঞ্জলগ টেবিলটি চেক করে যাতে এটি ইতিমধ্যে কী প্রয়োগ করা হয়েছে তা জানতে পারে, তবে এটি বুদ্ধিমানভাবে কেবল ফাইল থেকে এখনও যেগুলি চেঞ্জসেট প্রয়োগ করা হয়নি তা প্রয়োগ করে। এটি অনুশীলনে একেবারে দুর্দান্ত কাজ করে এবং আপনি যদি এটি আপনার সমস্ত স্কিমা পরিবর্তনের জন্য ব্যবহার করেন তবে আপনি 100% আত্মবিশ্বাসী হতে পারেন যে কোড আপনি চেকআউট এবং মোতায়েন করেছেন তা সর্বদা একটি সম্পূর্ণরূপে সামঞ্জস্যপূর্ণ ডাটাবেস স্কিমায় সংযোগ করতে সক্ষম হবে।
আশ্চর্যের বিষয়টি হ'ল আমি আমার ল্যাপটপে সম্পূর্ণ ফাঁকা স্লেট মাইএসকিএল ডাটাবেস নিতে পারি, অ্যাপটি ফায়ার করতে পারি এবং ঠিক তখনই আমার জন্য স্কিমা সেট আপ করা যেতে পারে। এটি স্থানীয়-দেব বা স্টেজিং ডিবিতে প্রথমে প্রয়োগ করে স্কিমা পরিবর্তনগুলি পরীক্ষা করা সহজ করে তোলে।
এটির সাথে সূচনা করার সবচেয়ে সহজ উপায় সম্ভবত আপনার বিদ্যমান ডিবি নেওয়া এবং তারপরে প্রাথমিক বেসলাইন.এক্সএমএল ফাইল তৈরি করতে লিকুইবেস ব্যবহার করা। তারপরে ভবিষ্যতে আপনি কেবল এটিতে সংযোজন করতে পারবেন এবং স্কিমা পরিবর্তনগুলি পরিচালনা করার জন্য তরলবাইজকে নিতে দিন।
hbm2ddl.auto=update
হ'ল যাতে আপনার ক্লাস / ডিবি ম্যাপিংগুলি বৈধতা পেতে পারে এবং তরল পদার্থের মাধ্যমে আপনার ডিবি তৈরির সম্পূর্ণ নিয়ন্ত্রণ থাকে। আপনি কি মনে করেন?
validate
আমি ভোট দেব হাইবারনেট কখন কলামগুলির জন্য ডেটাটাইপগুলি পরিবর্তন করেছে তা বোঝা যাচ্ছে না। উদাহরণ (মাইএসকিউএল ব্যবহার করে):
String with @Column(length=50) ==> varchar(50)
changed to
String with @Column(length=100) ==> still varchar(50), not changed to varchar(100)
@Temporal(TemporalType.TIMESTAMP,TIME,DATE) will not update the DB columns if changed
সম্ভবত অন্যান্য উদাহরণও রয়েছে যেমন স্ট্রিং কলামটির দৈর্ঘ্য 255-এর উপরে চাপানো এবং এটি পাঠ্য, মাঝারি পাঠ্য ইত্যাদিতে রূপান্তরিত করা ইত্যাদি seeing
মঞ্জুর, নতুন কলাম তৈরি না করে, ডেটা অনুলিপি করে ও পুরাতন কলামটি উড়িয়ে দিয়েই "ডেটাটাইপগুলি" রূপান্তর করার সত্যিই উপায় আছে বলে আমি মনে করি না। তবে আপনার ডাটাবেসে যে মিনিটে কলাম রয়েছে তাতে যে হাইবারনেট ম্যাপিং আপনি খুব বিপজ্জনকভাবে জীবনযাপন করছেন তা প্রতিফলিত করে না ...
ফ্লাইওয়ে এই সমস্যাটি মোকাবেলায় একটি ভাল বিকল্প:
@Column(length = 45)
হচ্ছে @Column(length = 255)
। হাইবারনেট ৪.৩..6 যাচাই করতে পারে F ফাইনাল ডাটাবেস স্কিমা ব্যবহার করে সঠিকভাবে আপডেট করেছে hbm2ddl.auto=update
। (একটি বিষয় উল্লেখ করার জন্য হ'ল ডাটাবেসটিতে বর্তমানে কোনও তথ্য নেই - কেবল কাঠামো।)
হাইবারনেটকে নিজেকে আবরণ করার জন্য পণ্যগুলিতে অটো আপডেটগুলি ব্যবহার না করার বিষয়ে অস্বীকৃতি জানাতে হবে যখন তারা যখন জানে না যে তারা কী করছে তা এটি ব্যবহার না করা পরিস্থিতিতে এমনটি ব্যবহার করে।
অনুমোদিত যে পরিস্থিতি যেখানে এটি ঠিক আছে তার চেয়ে বেশি পরিমাণে এটি ব্যবহার করা উচিত নয়।
আমি বহু বছর ধরে এটি প্রচুর বিভিন্ন প্রকল্পে ব্যবহার করেছি এবং কখনও কোনও সমস্যা হয়নি। এটি কোনও খোঁড়া উত্তর নয়, এবং এটি কাউবয় কোডিং নয়। এটি একটি .তিহাসিক ঘটনা।
যে ব্যক্তি "উত্পাদনে এটি কখনই করবেন না" বলে বলে সে একটি নির্দিষ্ট উত্পাদন স্থাপনার একটি সেট সম্পর্কে চিন্তা করছে, যাকে তার সাথে পরিচিত (তার সংস্থা, তার শিল্প ইত্যাদি)।
"উত্পাদন স্থাপনার" মহাবিশ্ব বিস্তৃত এবং বৈচিত্র্যময়।
একজন অভিজ্ঞ হাইবারনেট বিকাশকারী জানেন যে ডিডিএল প্রদত্ত ম্যাপিং কনফিগারেশন থেকে ঠিক কী ঘটতে চলেছে। যতক্ষণ আপনি পরীক্ষা করে যাচাই করেন যে আপনি যা প্রত্যাশা করছেন তা ডিডিএলে শেষ হবে (দেব, ক্যু, স্টেজিং ইত্যাদি), আপনি ভাল আছেন।
যখন আপনি প্রচুর বৈশিষ্ট্য যুক্ত করছেন, অটো স্কিমা আপডেটগুলি রিয়েল টাইম সেভার হতে পারে।
স্টাফ স্বয়ংক্রিয় আপডেটগুলির তালিকা হ্যান্ডল করবে না অন্তহীন, তবে কয়েকটি উদাহরণ ডেটা মাইগ্রেশন, অ-নন কলাম, কলামের নাম পরিবর্তন ইত্যাদি adding
এছাড়াও আপনাকে গুচ্ছ পরিবেশে যত্ন নেওয়া দরকার।
তবে আবার, আপনি যদি এই সমস্ত জিনিস জানতেন তবে আপনি এই প্রশ্নটি জিজ্ঞাসা করবেন না। হুঁ। । । ঠিক আছে, আপনি যদি এই প্রশ্নটি জিজ্ঞাসা করছেন তবে আপনাকে হাইবারনেট এবং অটো স্কিমার আপডেটগুলি ব্যবহার করার বিষয়ে চিন্তা করার আগে আপনার প্রচুর অভিজ্ঞতা না পাওয়া পর্যন্ত অপেক্ষা করা উচিত।
আমি যেমন এই নিবন্ধে ব্যাখ্যা করেছি , এটি ব্যবহার করা ভাল ধারণা নয়hbm2ddl.auto
উত্পাদনে ।
ডাটাবেস স্কিমা পরিচালনা করার একমাত্র উপায় হ'ল ইনক্রিমেন্টাল মাইগ্রেশন স্ক্রিপ্টগুলি ব্যবহার করা কারণ:
এমনকি হাইবারনেট ব্যবহারকারী গাইড আপনাকে hbm2ddl
উত্পাদন পরিবেশের জন্য সরঞ্জামটি এড়াতে পরামর্শ দেয় ।
SchemaExport
এই পরীক্ষার কেস দ্বারা প্রদর্শিত হিসাবে ব্যবহার করুন ।
আমরা এখন কয়েক মাস ধরে উত্পাদিত একটি প্রকল্পে এটি করি এবং এখনও পর্যন্ত কোনও সমস্যা হয়নি। এই রেসিপিটির জন্য প্রয়োজনীয় 2 টি উপাদান মনে রাখবেন:
একটি পিছন-সঙ্গতির পদ্ধতির, যে হয় সঙ্গে আপনার অবজেক্ট মডেল ডিজাইন অনুমোদন প্রত্যাহার বস্তু এবং অপসারণ / তাদের পরিবর্তনের বদলে বৈশিষ্ট্যাবলী। এর অর্থ হ'ল যদি আপনাকে কোনও অবজেক্ট বা অ্যাট্রিবিউটটির নাম পরিবর্তন করতে হয় তবে পুরানোটিকে যেমনটি রেখে যান, নতুনটি যুক্ত করুন এবং কোনও প্রকারের মাইগ্রেশন স্ক্রিপ্ট লিখুন। যদি আপনাকে অবজেক্টগুলির মধ্যে কোনও সংযোগ পরিবর্তন করতে হয়, যদি আপনি ইতিমধ্যে উত্পাদনে থাকেন তবে এর অর্থ হ'ল আপনার নকশাটি প্রথম স্থানে ভুল ছিল, তাই পুরানো ডেটা প্রভাবিত না করে নতুন সম্পর্কটি প্রকাশ করার নতুন উপায় সম্পর্কে ভাবার চেষ্টা করুন।
সর্বদা স্থাপনার পূর্বে ডেটাবেসটিকে ব্যাকআপ করুন।
আমার অনুভূতিটি এই পোস্টটি পড়ার পরে - এই আলোচনায় অংশ নেওয়া 90% লোক কেবল উত্পাদনের পরিবেশে স্বয়ংক্রিয়তা ব্যবহারের চিন্তায় আতঙ্কিত। কেউ কেউ বল ডিবিএতে ফেলে দেন । এক মুহুর্তটি বিবেচনা করুন তবে তা বিবেচনা করুন যে সমস্ত উত্পাদন পরিবেশ একটি ডিবিএ সরবরাহ করবে না এবং অনেক দেব দলই একটি সামর্থ্য রাখতে সক্ষম নয় (কমপক্ষে মাঝারি আকারের প্রকল্পের জন্য)। সুতরাং, আমরা যদি এমন দলগুলির বিষয়ে কথা বলি যেখানে প্রত্যেককেই সবকিছু করতে হয়, বলটি তাদের উপর রয়েছে।
এই ক্ষেত্রে, কেন কেবল উভয় বিশ্বের সেরা হওয়ার চেষ্টা করবেন না? এর মতো সরঞ্জামগুলি এখানে সাহায্যের হাত দেওয়ার জন্য, যা - সাবধানতার সাথে নকশা এবং পরিকল্পনা সহ - অনেক পরিস্থিতিতে সহায়তা করতে পারে। এবং আমার বিশ্বাস, প্রশাসকরা প্রাথমিকভাবে এটি বোঝা শক্ত হতে পারে তবে যদি তারা জানে যে বলটি তাদের হাতে নেই, তবে তারা এটি পছন্দ করবে।
ব্যক্তিগতভাবে, আমি যে কোনও ধরণের স্কিমা বাড়ানোর জন্য হাতে হাতে স্ক্রিপ্টগুলি লেখার পিছনে ফিরে যাব না, তবে এটি আমার মতামত। এবং সম্প্রতি নোএসকিউএল স্কিমা-কম ডাটাবেসগুলি গ্রহণ করা শুরু করার পরে, আমি দেখতে পাচ্ছি যে খুব শীঘ্রই, এই সমস্ত স্কিমা-ভিত্তিক ক্রিয়াকলাপ অতীতের অন্তর্গত হবে, সুতরাং আপনি নিজের দৃষ্টিকোণ পরিবর্তন করতে আরও ভাল লাগলেন।
আমি এটির ঝুঁকি নেব না কারণ আপনি হয়ত ডেটা হারিয়ে ফেলবেন যা সংরক্ষণ করা উচিত ছিল। hbm2ddl.auto = আপডেট হ'ল আপনার ডেভ ডাটাবেসটি আপ টু ডেট রাখার এক সহজ উপায়।
আমার ক্ষেত্রে (হাইবারনেট ৩.৩.২, পোস্টগ্র্যাস্কিল, উবুন্টু) সেটিংস hibernate.hbm2ddl.auto=update
কেবল নতুন টেবিল তৈরি করেছে এবং ইতিমধ্যে বিদ্যমান সারণীতে নতুন কলাম তৈরি করেছে।
এটি টেবিলগুলি ফেলেছে না, কলামগুলি ছাড়ছে না, কলামগুলিকেও পরিবর্তন করবে না। এটিকে নিরাপদ বিকল্প বলা যেতে পারে তবে এর মতো hibernate.hbm2ddl.auto=create_tables add_columns
আরও কিছু আরও পরিষ্কার।
এটি নিরাপদ নয়, প্রস্তাবিত নয়, তবে এটি সম্ভব।
উত্পাদনে স্বয়ংক্রিয় আপডেট বিকল্পটি ব্যবহার করে আমার একটি অ্যাপ্লিকেশনটিতে অভিজ্ঞতা আছে।
ঠিক আছে, এই সমাধানটিতে পাওয়া প্রধান সমস্যা এবং ঝুঁকিগুলি হ'ল:
সুতরাং, আমি উত্পাদনে স্বয়ংক্রিয় আপডেট ব্যবহার করার পরামর্শ দেব না।
আপনি যদি সত্যিই উত্পাদনে স্বয়ংক্রিয় আপডেট ব্যবহার করতে চান তবে আমি প্রস্তাব দিই:
এবং অন্য পোস্টগুলির থেকে আলাদা, আমি মনে করি না যে স্বয়ংক্রিয় আপডেট এটি "খুব ভাল বেতনের" ডিবিএ (অন্যান্য পোস্টে উল্লিখিত) সাথে সম্পর্কিত enabled সারণী এবং কলামগুলি তৈরি / পরিবর্তন / মোছার জন্য এসকিউএল স্টেটমেন্ট লেখার চেয়ে ডিবিএগুলির আরও গুরুত্বপূর্ণ জিনিস রয়েছে। এই সাধারণ নিত্য কাজগুলি বিকাশকারীগণ দ্বারা সম্পন্ন এবং স্বয়ংক্রিয়ভাবে করা যেতে পারে এবং কেবল ডিবিএ টিমের পর্যালোচনা করার জন্য পাস করা হয়, হাইবারনেট এবং ডিবিএগুলি তাদের লেখার জন্য "খুব ভাল অর্থ প্রদানের" প্রয়োজন হয় না।
সাধারণত বড় সংস্থাগুলিতে এন্টারপ্রাইজ অ্যাপ্লিকেশনগুলি হ্রাস সুবিধা সহ চালিত হয়।
ডাটাবেস ব্যবহারকারীর নামটিতে DDL
কলাম যুক্ত করার hbm2ddl.auto=update
প্রয়োজন নেই যা প্রয়োজন।
আমি ভ্লাদিমিরের সাথে একমত আমার সংস্থার প্রশাসকরা অবশ্যই এমন প্রশংসা করবেন না যদি আমি এমনকি এমন কোনও কোর্স প্রস্তাব করি।
আরও, হাইবারনেটকে অন্ধভাবে বিশ্বাস করার পরিবর্তে একটি এসকিউএল স্ক্রিপ্ট তৈরি করা আপনাকে সেই ক্ষেত্রগুলি অপসারণের সুযোগ দেয় যা আর ব্যবহার হয় না। হাইবারনেট এটি করে না।
এবং আমি নতুন স্কীমার সাথে প্রোডাকশন স্কিমা তুলনা করলে আপনি ডেটা মডেলটিতে যে পরিবর্তন করেছেন সেটিকে আরও ভাল অন্তর্দৃষ্টি দেয়। আপনি অবশ্যই জানেন, কারণ আপনি এটি তৈরি করেছেন, কিন্তু এখন আপনি সমস্ত পরিবর্তনগুলি এক সাথে দেখতে পাচ্ছেন। এমনকি যেগুলি আপনাকে "হোয়াট হেক ?!" এর মতো করে তোলে make
এমন সরঞ্জাম রয়েছে যা আপনার জন্য স্কিমা ডেল্টা তৈরি করতে পারে, তাই এটি এমনকি কঠোর পরিশ্রমেরও নয়। এবং তারপরে আপনি ঠিক কী ঘটতে চলেছেন তা জানেন।
অ্যাপ্লিকেশনগুলির স্কিমা সময়ে বিকশিত হতে পারে; আপনার যদি বেশ কয়েকটি ইনস্টলেশন থাকে, যা বিভিন্ন সংস্করণে থাকতে পারে তবে আপনার অ্যাপ্লিকেশন, কোনও ধরণের সরঞ্জাম বা স্ক্রিপ্ট কোনও সংস্করণ থেকে পরবর্তী সংস্করণে ধাপে ধাপে স্কিমা এবং ডেটা স্থানান্তর করতে সক্ষম কিনা তা নিশ্চিত করার কিছু উপায় থাকতে হবে।
হাইবারনেট ম্যাপিংগুলিতে আপনার সমস্ত অধ্যবসায় রাখা (বা টীকাগুলি) স্কিমা বিবর্তনকে নিয়ন্ত্রণে রাখার জন্য খুব ভাল উপায়।
আপনার বিবেচনা করা উচিত যে স্কিমা বিবর্তনের বিভিন্ন দিক বিবেচনা করা উচিত:
আরও কলাম এবং সারণী যুক্ত করে ডেটাবেস স্কিমার বিবর্তন
পুরানো কলাম, টেবিল এবং সম্পর্কগুলি বাদ দেওয়া
ডিফল্ট সহ নতুন কলামগুলি পূরণ করা
হাইবারনেট সরঞ্জামগুলি বিশেষত ক্ষেত্রে গুরুত্বপূর্ণ (আমার অভিজ্ঞতার মতো) আপনার অনেকগুলি বিভিন্ন ধরণের ডাটাবেসে একই অ্যাপ্লিকেশনটির বিভিন্ন সংস্করণ রয়েছে।
আপনি হাইবারনেট ব্যবহার করছেন এমন ক্ষেত্রে পয়েন্ট 3 অত্যন্ত সংবেদনশীল, যদি আপনি একটি নতুন বুলিয়ান মূল্যবান সম্পত্তি বা সংখ্যার সাথে পরিচয় করিয়ে দেন, যদি হাইবারনেট এই জাতীয় কলামগুলিতে কোনও নাল মান খুঁজে পায়, যদি একটি ব্যতিক্রম উত্থাপন করে।
সুতরাং আমি যা করব তা হ'ল: স্কিমা আপডেটের হাইবারনেট সরঞ্জামের ক্ষমতাটি ব্যবহার করুন তবে আপনাকে অবশ্যই এটির পাশাপাশি কিছু ডেটা এবং স্কিমা রক্ষণাবেক্ষণ কলব্যাক যুক্ত করতে হবে, যেমন ডিফল্ট পূরণ করার জন্য, আর ব্যবহৃত ব্যবহৃত কলাম বাদ দেওয়া এবং এই জাতীয়। এইভাবে আপনি সুবিধাগুলি পাবেন (ডাটাবেস ইন্ডিপেন্ডেন্ট স্কিমা আপডেট স্ক্রিপ্টগুলি এবং আপডেটগুলির ডুপ্লিকেট কোডিং এড়িয়ে চলা, অস্তিত্ব এবং স্ক্রিপ্টগুলিতে) তবে আপনি অপারেশনের সমস্ত দিকও কভার করেন।
সুতরাং উদাহরণস্বরূপ, যদি কোনও সংস্করণ আপডেটে কেবলমাত্র একটি ভার্চার মূল্যবান সম্পত্তি (সুতরাং কলাম) যুক্ত করার অন্তর্ভুক্ত থাকে যা ডিফল্টরূপে বাতিল হয়ে যেতে পারে, স্বয়ংক্রিয় আপডেটের সাথে আপনার কাজ শেষ হয়ে যাবে। যেখানে আরও জটিলতা প্রয়োজন সেখানে আরও কাজ করা প্রয়োজন।
এটি ধরেই নেওয়া হচ্ছে যে আপডেট হওয়া অ্যাপ্লিকেশনটি তার স্কিমা আপডেট করার পক্ষে সক্ষম (এটি করা যেতে পারে), যার অর্থ এটিও এটির স্কিমায় ব্যবহারকারীর অধিকার থাকতে হবে। যদি গ্রাহকের নীতি এটি (সম্ভাব্য টিকটিকি ব্রেনের ক্ষেত্রে) প্রতিরোধ করে তবে আপনাকে ডাটাবেস - নির্দিষ্ট স্ক্রিপ্ট সরবরাহ করতে হবে।