سؤال

بعد 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 الخاص بهذا التغييرات الجديدة. جيد للتغيرات النصية الطفيفة. أو يمكنك حذف صف التغييرات من الجدول الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top