<div dir="ltr"><div class="gmail_default" style="font-size:small;color:#000000">Thanks Shane Kerr</div><div class="gmail_default" style="font-size:small;color:#000000"><br></div><div class="gmail_default" style="font-size:small;color:#000000">I will consider your solution.</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div>Thanks and Best Regards,<br></div><div>Quang Trieu<br></div></div></div></div></div></div></div>
<br><div class="gmail_quote">On Wed, Jan 6, 2016 at 9:45 PM, Shane Kerr <span dir="ltr"><<a href="mailto:shane@time-travellers.org" target="_blank">shane@time-travellers.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Quang Trieu,<br>
<br>
As far as I can tell, the tables in 4.0 of the schema are all there,<br>
and have all of the proper columns. We didn't check indexes or foreign<br>
keys so we can't be sure about that.<br>
<br>
If you are feeling brave, you can try setting the version to 4.0<br>
manually and seeing what happens.<br>
<br>
mysql> UPDATE schema_version SET version = '4', minor = '0';<br>
<br>
It is possible that some of the stored procedures were not created, so<br>
if you are worried you can verify that those are also correct.<br>
<br>
Finally, I also see that there are a few tables that are not part of<br>
Kea in the database. This should be okay, although if you are not<br>
actually using the DHCP data in your other application(s) then maybe it<br>
makes more sense to use a different database for them.<br>
<br>
Cheers,<br>
<br>
--<br>
Shane<br>
<br>
At 2016-01-06 08:23:36 +0700<br>
<div class="HOEnZb"><div class="h5">"Quang. Trieu Minh" <<a href="mailto:quangtm@vng.com.vn">quangtm@vng.com.vn</a>> wrote:<br>
<br>
> Hi Shane Kerr<br>
><br>
> We had a update schema in last week.<br>
><br>
> All tables and columns as bellow.<br>
><br>
> + tables<br>
> assets<br>
> dhcp4_options<br>
> dhcp6_options<br>
> hosts<br>
> ipv6_reservations<br>
> lease4<br>
> lease6<br>
> lease6_types<br>
> lease_hwaddr_source<br>
> lease_state<br>
> schema_version<br>
> subnet<br>
> user_auth_token<br>
> + lease 4<br>
> address int(10) unsigned NO PRI<br>
> hwaddr varbinary(20) YES MUL<br>
> client_id varbinary(128) YES MUL<br>
> valid_lifetime int(10) unsigned YES<br>
> expire timestamp NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP<br>
> subnet_id int(10) unsigned YES<br>
> fqdn_fwd tinyint(1) YES<br>
> fqdn_rev tinyint(1) YES<br>
> hostname varchar(255) YES<br>
> state int(10) unsigned YES MUL 0<br>
> + lease6<br>
> address varchar(39) NO PRI<br>
> duid varbinary(128) YES<br>
> valid_lifetime int(10) unsigned YES<br>
> expire timestamp NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP<br>
> subnet_id int(10) unsigned YES<br>
> pref_lifetime int(10) unsigned YES<br>
> lease_type tinyint(4) YES<br>
> iaid int(10) unsigned YES MUL<br>
> prefix_len tinyint(3) unsigned YES<br>
> fqdn_fwd tinyint(1) YES<br>
> fqdn_rev tinyint(1) YES<br>
> hostname varchar(255) YES<br>
> hwaddr varbinary(20) YES<br>
> hwtype smallint(5) unsigned YES<br>
> hwaddr_source int(10) unsigned YES<br>
> state int(10) unsigned YES MUL 0<br>
> + lease6_types<br>
> lease_type tinyint(4) NO PRI<br>
> name varchar(5) YES<br>
> + lease_hwaddr_source<br>
> hwaddr_source int(11) NO PRI<br>
> name varchar(40) YES<br>
> + hosts<br>
> host_id int(10) unsigned NO PRI auto_increment<br>
> dhcp_identifier varbinary(128) NO MUL<br>
> dhcp_identifier_type tinyint(4) NO<br>
> dhcp4_subnet_id int(10) unsigned YES<br>
> dhcp6_subnet_id int(10) unsigned YES<br>
> ipv4_address int(10) unsigned YES<br>
> hostname varchar(255) YES<br>
> dhcp4_client_classes varchar(255) YES<br>
> dhcp6_client_classes varchar(255) YES<br>
> + ipv6_reservations<br>
><br>
> reservation_id int(11) NO PRI auto_increment<br>
> address varchar(39) NO<br>
> prefix_len tinyint(3) unsigned NO 128<br>
> type tinyint(4) unsigned NO 0<br>
> dhcp6_iaid int(10) unsigned YES<br>
> host_id int(10) unsigned NO MUL<br>
> + dhcp4_options<br>
> option_id int(10) unsigned NO PRI auto_increment<br>
> code tinyint(3) unsigned NO<br>
> value blob YES<br>
> formatted_value text YES<br>
> space varchar(128) YES<br>
> persistent tinyint(1) NO 0<br>
> dhcp_client_class varchar(128) YES<br>
> dhcp4_subnet_id int(11) YES<br>
> host_id int(10) unsigned YES MUL<br>
> + dhcp6_options<br>
> option_id int(10) unsigned NO PRI auto_increment<br>
> code int(10) unsigned NO<br>
> value blob YES<br>
> formatted_value text YES<br>
> space varchar(128) YES<br>
> persistent tinyint(1) NO 0<br>
> dhcp_client_class varchar(128) YES<br>
> dhcp6_subnet_id int(11) YES<br>
> host_id int(10) unsigned YES MUL<br>
> + lease_state;<br>
> state int(10) unsigned NO PRI<br>
> name varchar(64) NO<br>
><br>
><br>
><br>
><br>
><br>
><br>
> Thanks and Best Regards,<br>
> Quang Trieu<br>
><br>
> On Wed, Jan 6, 2016 at 3:11 AM, Shane Kerr <<a href="mailto:shane@time-travellers.org">shane@time-travellers.org</a>><br>
> wrote:<br>
><br>
> > Quang Trieu,<br>
> ><br>
> > At 2016-01-05 22:28:02 +0700<br>
> > "Quang. Trieu Minh" <<a href="mailto:quangtm@vng.com.vn">quangtm@vng.com.vn</a>> wrote:<br>
> ><br>
> > > After I upgraded kea 0.9.0 to kea 1.0.0. I updated lease version and saw<br>
> > > errors as bellows :<br>
> > ><br>
> > > root@VNGHCMAPP01:/opt/kea/sbin# ./kea-admin lease-upgrade mysql -u<br>
> > sqluser<br>
> > > -p *********** -n dhcp_management<br>
> > > Lease DB version reported before upgrade: 3.0<br>
> > ><br>
> > > Processing /opt/kea/share/kea/scripts/mysql/<a href="http://upgrade_1.0_to_2.0.sh" rel="noreferrer" target="_blank">upgrade_1.0_to_2.0.sh</a><br>
> > file...<br>
> > > This script upgrades 1.0 to 2.0. Reported version is 3.0. Skipping<br>
> > upgrade.<br>
> > > Processing /opt/kea/share/kea/scripts/mysql/<a href="http://upgrade_2.0_to_3.0.sh" rel="noreferrer" target="_blank">upgrade_2.0_to_3.0.sh</a><br>
> > file...<br>
> > > This script upgrades 2.0 to 3.0. Reported version is 3.0. Skipping<br>
> > upgrade.<br>
> > > Processing /opt/kea/share/kea/scripts/mysql/<a href="http://upgrade_3.0_to_4.0.sh" rel="noreferrer" target="_blank">upgrade_3.0_to_4.0.sh</a><br>
> > file...<br>
> > > ERROR 1060 (42S21) at line 2: Duplicate column name 'state'<br>
> > > Processing /opt/kea/share/kea/scripts/mysql/<a href="http://upgrade_4.0_to_4.1.sh" rel="noreferrer" target="_blank">upgrade_4.0_to_4.1.sh</a><br>
> > file...<br>
> > > This script upgrades 4.0 to 4.1. Reported version is 3.0. Skipping<br>
> > upgrade.<br>
> > > Lease DB version reported after upgrade: 3.0<br>
> ><br>
> > It looks like the script is complaining about this command:<br>
> ><br>
> > # Add state column to the lease4 table.<br>
> > ALTER TABLE lease4<br>
> >     ADD COLUMN state INT UNSIGNED DEFAULT 0;<br>
> ><br>
> > The error indicates that for some reason the lease4 table already has a<br>
> > column named 'state'.<br>
> ><br>
> > I'm not sure how this could happen.<br>
> ><br>
> > Was there an earlier attempt to upgrade the schema that failed?<br>
> ><br>
> > You can see the current schema of your database by using the MySQL<br>
> > command line:<br>
> ><br>
> > mysql> show tables<br>
> ><br>
> > That will list all the tables, then you can go through each and check<br>
> > the structure:<br>
> ><br>
> > mysql> show columns from lease4;<br>
> > mysql> show columns from lease6;<br>
> > mysql> show columns from lease6_type;<br>
> > mysql> show columns from lease_hwaddr_source;<br>
> > mysql> show columns from hosts;<br>
> > mysql> show columns from ipv6_reservations;<br>
> > mysql> show columns from dhcpv4_options;<br>
> > mysql> show columns from dhcpv6_options;<br>
> > mysql> show columns from lease_state;<br>
> ><br>
> > I don't know of any other way to see where things are broken.<br>
> ><br>
> > Cheers,<br>
> ><br>
> > --<br>
> > Shane<br>
> ><br>
</div></div></blockquote></div><br></div>