কম্পিউটার টিউটোরিয়াল

MySQL-এ ডেটাবেস স্কিমা পরিবর্তন ট্র্যাক করার পদ্ধতিসমূহ

স্কিমা ভার্সনিং/মাইগ্রেশন টেবিল দিয়ে ট্র্যাকিং

প্রজেক্টে ডেটাবেস স্কিমা পরিবর্তন (টেবিল তৈরি, কলাম যোগ/বদল, ইনডেক্স ইত্যাদি) ট্র্যাক করতে একটি মেটাডেটা টেবিল রাখা ভালো অভ্যাস।

মেটাডেটা টেবিল তৈরি

mysql> CREATE TABLE SchemaDatabaseMethodDemo (
    -> `WhenTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    -> `TheKey` VARCHAR(200) NOT NULL,
    -> `Version` VARCHAR(200),
    -> PRIMARY KEY (`TheKey`)
    -> ) ENGINE=InnoDB;

মাইগ্রেশন রেকর্ড ইনসার্ট

mysql> INSERT INTO SchemaDatabaseMethodDemo VALUES (NOW(), '1001', 'version 5.6.12');
mysql> SELECT * FROM SchemaDatabaseMethodDemo;
+---------------------+--------+----------------+
| WhenTime            | TheKey | Version        |
+---------------------+--------+----------------+
| 2018-10-29 14:21:47 | 1001   | version 5.6.12 |
+---------------------+--------+----------------+

নোট: প্রতিটি SQL মাইগ্রেশন স্ক্রিপ্টের শুরুতে বা শেষে এই টেবিলে একটি রো ইনসার্ট করুন যাতে স্কিমা ভার্সন ইতিহাস থাকে। টুলস: Flyway, Liquibase, یا কাস্টম স্ক্রিপ্ট।

  1. MySQL-এ ডিফল্ট ডাটাবেস কি (ব্যবহারকারীর জন্য)

  2. MySQL-এ বর্তমান ট্রানজ্যাকশনে করা পরিবর্তন ডাটাবেসে স্থায়ীভাবে কীভাবে রেকর্ড করবেন?

  3. MySQL এরর #1046 - কোনো ডাটাবেস নির্বাচন করা হয়নি

  4. MySQL-এ REGEXP_INSTR ব্যবহার করে সার্চ কোয়েরি করা