Liquibase Community Forum
2010-12-03 07:08:11 UTC
A new topic, 'How to use tagDatabase properly', has been made on a board you are watching.
You can see it at
http://liquibase.org/forum/index.php?topic=813.new#new
The text of the topic is shown below:
Hey Guys,
I am new to liquibase and trying to use the tag database feature but having trouble. Basically i am starting midway through a project and it seems to be working ok. I have generated the changelog and done the changelogSyncSQL to identify the queries that will be run on the boxes to setup. However at this point i would like to tag the db with the release version of the app at it starting state in this example which is 0.5.3. So where I am at now is that i have tried to add the tagDatabase to the existing changesets and rerun the syncSQL. However it fails in this case with :
Code:
Migration Failed: cvc-complex-type.2.4.a: Invalid content was found starting with element 'createSequence'. One of '{"http://www.liquibase.org/xml/ns/dbchangelog/1.9":modifySql}' is expected.
For this changeset:
<changeSet author="me (generated)" id="1291354233716-23"><tagDatabase tag="version_0.5.4"/>
<createSequence schemaName="SPS" sequenceName="HIBERNATE_SEQUENCE"/>
</changeSet>
So as an alternative i just tried creting a new changeset for the tag with :
Code:
<changeSet author="me (generated)" id="1291354233716-24">
<tagDatabase tag="version_0.5.4"/>
</changeSet>
In this case it does not tag the database but just creates a new changes set called tagging database :
Code:
INSERT INTO DATABASECHANGELOG (DATEEXECUTED, AUTHOR, LIQUIBASE, DESCRIPTION, COMMENTS, MD5SUM, ID, FILENAME) VALUES (SYSDATE, 'me (generated)', '1.9.5', 'Tag Database', '', 'b818a9dd1aa95b53f7e433a4445ad0', '1291354233716-24', './grails-app/migrations/changelog.xml');
And does not actually apply a tag to the database. So at this stage I am a bit stumped as to the problem. Am i misunderstanding the use of the tag in this case? Do i have to run the tag apply directly to the database including prod "i would not be allowed to do this by the dba's"? I really have no idea and the doco just says <tagDatabase="blah"/> which is not particularly helpful ;) .
Any help would be appreciated because I would really like to get this setup properly the first time and not have to hack it later. It might also be a good business case for us to use it if i get a good process setup.
Cheers Dave
Unsubscribe to new topics from this board by clicking here: http://liquibase.org/forum/index.php?action=notifyboard;board=1.0
Regards,
The Liquibase Community Forum Team.
You can see it at
http://liquibase.org/forum/index.php?topic=813.new#new
The text of the topic is shown below:
Hey Guys,
I am new to liquibase and trying to use the tag database feature but having trouble. Basically i am starting midway through a project and it seems to be working ok. I have generated the changelog and done the changelogSyncSQL to identify the queries that will be run on the boxes to setup. However at this point i would like to tag the db with the release version of the app at it starting state in this example which is 0.5.3. So where I am at now is that i have tried to add the tagDatabase to the existing changesets and rerun the syncSQL. However it fails in this case with :
Code:
Migration Failed: cvc-complex-type.2.4.a: Invalid content was found starting with element 'createSequence'. One of '{"http://www.liquibase.org/xml/ns/dbchangelog/1.9":modifySql}' is expected.
For this changeset:
<changeSet author="me (generated)" id="1291354233716-23"><tagDatabase tag="version_0.5.4"/>
<createSequence schemaName="SPS" sequenceName="HIBERNATE_SEQUENCE"/>
</changeSet>
So as an alternative i just tried creting a new changeset for the tag with :
Code:
<changeSet author="me (generated)" id="1291354233716-24">
<tagDatabase tag="version_0.5.4"/>
</changeSet>
In this case it does not tag the database but just creates a new changes set called tagging database :
Code:
INSERT INTO DATABASECHANGELOG (DATEEXECUTED, AUTHOR, LIQUIBASE, DESCRIPTION, COMMENTS, MD5SUM, ID, FILENAME) VALUES (SYSDATE, 'me (generated)', '1.9.5', 'Tag Database', '', 'b818a9dd1aa95b53f7e433a4445ad0', '1291354233716-24', './grails-app/migrations/changelog.xml');
And does not actually apply a tag to the database. So at this stage I am a bit stumped as to the problem. Am i misunderstanding the use of the tag in this case? Do i have to run the tag apply directly to the database including prod "i would not be allowed to do this by the dba's"? I really have no idea and the doco just says <tagDatabase="blah"/> which is not particularly helpful ;) .
Any help would be appreciated because I would really like to get this setup properly the first time and not have to hack it later. It might also be a good business case for us to use it if i get a good process setup.
Cheers Dave
Unsubscribe to new topics from this board by clicking here: http://liquibase.org/forum/index.php?action=notifyboard;board=1.0
Regards,
The Liquibase Community Forum Team.