كيفية العمل مع كيوباز، مثال ملموس
-
18-09-2019 - |
سؤال
بعد QuickStart على حدوبري لقد قمت بإنشاء تبديلات (غبية جدا :))
رمز:
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.6"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.6
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.6.xsd">
<changeSet id="1" author="me">
<createTable tableName="first_table">
<column name="id" type="int">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="name" type="varchar(50)">
<constraints nullable="false"/>
</column>
</createTable>
<createTable tableName="new_table">
<column name="id" type="int">
<constraints primaryKey="true" nullable="false"/>
</column>
</createTable>
</changeSet>
</databaseChangeLog>
لقد قمت بإنشاء مخطط نظيف وأطلقت قيادة الترحيل.
Cucompass أنشأ قاعدة البيانات، مع Datably Datably Databersechangelogelog و.
الآن كيف يمكنني تتبع التغييرات؟ لقد قمت بتعديل التغييرات التي تضيف عنصرا جديدا قابلة للإبداع، ولكن عندما أحاول "تحديث" Leadibase أخبرني بذلك
Migration Failed: Validation Failed:
1 change sets check sum
لذلك لا أعتقد أن فهمت الطريقة للعمل مع كيوباز.
شخص ما قد يشير لي إلى الاتجاه الصحيح؟
شكرا
المحلول
يجب أن لا تعدل أبدا <changeSet>
التي تم تنفيذها بالفعل. يحسب Liquibase المجموع الاختباري لجميع التغييرات المنفذة وتخزينها في السجل. بعد ذلك، قم بإعادة حساب الاختباري، ومقارنتها بالأشياء المخزنة وتفشل في المرة القادمة التي تقوم فيها بتشغيلها إذا كانت المجموع الاختباري تختلف.
ما تحتاج إلى القيام به بدلا من ذلك هو إضافة اخر <changeSet>
ووضع العنصر الخاص بك الجديد في ذلك.
QuickStart هو Readin جيد "لكنه سريع بالفعل :-) تحقق من كامل كتيب, ، وخاصة لها changeset. الجزء.
نصائح أخرى
هذه الإجابة المقبولة حاليا قديمة قليلا بناء على التغييرات في 2.x 2.x. في الإصدار 2.x، ستظل Liquibase تفشل إذا تم تغيير المجموع الاختباري MD5 للتغييرات، ولكن يمكنك تحديد Runonchange. السمة إذا كنت تريد أن تكون قادرة على تعديل ذلك.
من توثيق:
Runonchange. - ينفذ التغيير في المرة الأولى التي ينظر إليها وفي كل مرة تم تغيير مجموعة التغيير
إذا كان التغيير في تبديلات تم القيام به بالفعل بالفعل، فيمكنك تعديل قاعدة البيانات يدويا بحيث يطابق MD5 الخاص بهذا التغييرات الجديدة. جيد للتغيرات النصية الطفيفة. أو يمكنك حذف صف التغييرات من الجدول الخاص بك.