हम जावा 6 के साथ लिक्विबेस 3.2 का उपयोग कर रहे हैं। क्या कोई तरीका है कि मैं लिक्विबेस को हमारी लिक्विबेस फाइलों से वही कथन चलाने के बिना चेकसम को पुन: गणना करने के लिए मजबूर कर सकता हूं? हमारे डेटाबेस में, मैं इस चलाने ...मैं लिक्विबेस को कथनों को फिर से चलाने के बिना चेकसम को फिर से समझने के लिए कैसे मजबूर कर सकता हूं?
update DATABASECHANGELOG set md5sum = null where 1;
हालांकि, जब मैं अपने Liquibase परिवर्तन स्क्रिप्ट चलाने के लिए, कुछ फांसी अभी भी निम्न त्रुटियों के साथ विफल ...
invoking liquibase change script with file /tmp/deploywork/db.changelog-master.xml
running /usr/java/liquibase/liquibase --logLevel=info --driver=com.mysql.jdbc.Driver --classpath=/usr/java/jboss/modules/com/mysql/main/mysql-connector-java-5.1.22-bin.jar --changeLogFile=/tmp/deploywork/db.changelog-master.xml --url="jdbc:mysql://myservername:3306/my_db" --username=username --password=password update
INFO 5/13/15 2:15 PM: liquibase: Successfully acquired change log lock
INFO 5/13/15 2:15 PM: liquibase: Reading from my_db.DATABASECHANGELOG
INFO 5/13/15 2:15 PM: liquibase: Successfully released change log lock
Unexpected error running Liquibase: Validation Failed:
3 change sets check sum
db.changelog-1.0.xml::1357593229391-25::rob (generated) is now: 7:5cfe9ecd779a71b6287ef2360a6979bf
db.changelog-7.0.xml::create-address-email-index::davea is now: 7:da0132e30ebd6a1bc52d9a39bb8c56d7
db.changelog-7.0.xml::add-myproject-event-object-id-col::davea is now: 7:2eab5d784647ce33ef3488aa8c383443
SEVERE 5/13/15 2:15 PM: liquibase: Validation Failed:
3 change sets check sum
db.changelog-1.0.xml::1357593229391-25::rob (generated) is now: 7:5cfe9ecd779a71b6287ef2360a6979bf
db.changelog-7.0.xml::create-address-email-index::davea is now: 7:da0132e30ebd6a1bc52d9a39bb8c56d7
db.changelog-7.0.xml::add-myproject-event-object-id-col::davea is now: 7:2eab5d784647ce33ef3488aa8c383443
liquibase.exception.ValidationFailedException: Validation Failed:
3 change sets check sum
db.changelog-1.0.xml::1357593229391-25::rob (generated) is now: 7:5cfe9ecd779a71b6287ef2360a6979bf
db.changelog-7.0.xml::create-address-email-index::davea is now: 7:da0132e30ebd6a1bc52d9a39bb8c56d7
db.changelog-7.0.xml::add-myproject-event-object-id-col::davea is now: 7:2eab5d784647ce33ef3488aa8c383443
at liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:181)
at liquibase.Liquibase.update(Liquibase.java:191)
at liquibase.Liquibase.update(Liquibase.java:174)
at liquibase.integration.commandline.Main.doMigration(Main.java:997)
at liquibase.integration.commandline.Main.run(Main.java:170)
at liquibase.integration.commandline.Main.main(Main.java:89)
यहाँ से एक है परिवर्तन सेट है कि स्क्रिप्ट के बारे में ...
<changeSet author="davea" id="add-myproject-event-object-id-col">
<addColumn tableName="sb_myproject_event">
<column name="OBJECT_ID" type="VARCHAR(32)"/>
</addColumn>
<createIndex indexName="SB_myproject_EVENT_IDX"
tableName="sb_myproject_event"
unique="false">
<column name="OBJECT_ID" type="varchar(32)" />
</createIndex>
<sql>update sb_myproject_event set object_id=LEFT(SUBSTRING_INDEX(event_data, '"id":"', -2), 24) where object_id is null and event_data is not null;</sql>
<!-- Delete older events that no longer need to be processed -->
<sql>delete from sb_myproject_event where id not in (select q.* from (select e.id FROM sb_myproject_event e, (select object_id, max(date_processed) d from sb_myproject_event group by object_id) o where e.object_id = o.object_id and e.date_processed = o.d) q);</sql>
</changeSet>
जैसा कि मैंने कहा, मैं केवल चेकसम पुनर्गणना के लिए चाहते हैं शिकायत कर रहा है (क्योंकि हम Liquibase संस्करणों बदल रहे हैं यह करने के लिए है)।
हाय, मैं ऊपर सूचीबद्ध आदेश में "--clearCheckSums" जोड़ा है, लेकिन त्रुटि, मिल गया "गंभीर 5/14/15 15:09: liquibase: पार्स नहीं कर सका '--clearCheckSums'" –
'clearCheckSums' एक कमांड (अद्यतन के समान) है और एक विकल्प नहीं है - इसे पहले से' --' की आवश्यकता नहीं है। – SteveDonie
अद्यतन डेटाबेसchangelog सेट md5sum = null जहां आईडी '% 62%' की तरह है; –