<div dir="ltr"><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)">Hi Shane Kerr</div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)">We had a update schema in last week.</div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)">All tables and columns as bellow. </div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style=""><div class="gmail_default" style=""><font color="#000000">+ tables</font></div><div class="gmail_default" style=""><font color="#000000">assets</font></div><div class="gmail_default" style=""><font color="#000000">dhcp4_options</font></div><div class="gmail_default" style=""><font color="#000000">dhcp6_options</font></div><div class="gmail_default" style=""><font color="#000000">hosts</font></div><div class="gmail_default" style=""><font color="#000000">ipv6_reservations</font></div><div class="gmail_default" style=""><font color="#000000">lease4</font></div><div class="gmail_default" style=""><font color="#000000">lease6</font></div><div class="gmail_default" style=""><font color="#000000">lease6_types</font></div><div class="gmail_default" style=""><font color="#000000">lease_hwaddr_source</font></div><div class="gmail_default" style=""><font color="#000000">lease_state</font></div><div class="gmail_default" style=""><font color="#000000">schema_version</font></div><div class="gmail_default" style=""><font color="#000000">subnet</font></div><div class="gmail_default" style=""><font color="#000000">user_auth_token</font></div><div class="gmail_default" style=""><font color="#000000">+ lease 4</font></div><div class="gmail_default" style=""><font color="#000000">address<span class="" style="white-space:pre">      </span>int(10) unsigned<span class="" style="white-space:pre">  </span>NO<span class="" style="white-space:pre">        </span>PRI<span class="" style="white-space:pre">               </span></font></div><div class="gmail_default" style=""><font color="#000000">hwaddr<span class="" style="white-space:pre">       </span>varbinary(20)<span class="" style="white-space:pre">     </span>YES<span class="" style="white-space:pre">       </span>MUL<span class="" style="white-space:pre">               </span></font></div><div class="gmail_default" style=""><font color="#000000">client_id<span class="" style="white-space:pre">    </span>varbinary(128)<span class="" style="white-space:pre">    </span>YES<span class="" style="white-space:pre">       </span>MUL<span class="" style="white-space:pre">               </span></font></div><div class="gmail_default" style=""><font color="#000000">valid_lifetime<span class="" style="white-space:pre">       </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">expire<span class="" style="white-space:pre">       </span>timestamp<span class="" style="white-space:pre"> </span>NO<span class="" style="white-space:pre">                </span>CURRENT_TIMESTAMP<span class="" style="white-space:pre"> </span>on update CURRENT_TIMESTAMP</font></div><div class="gmail_default" style=""><font color="#000000">subnet_id<span class="" style="white-space:pre"> </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">fqdn_fwd<span class="" style="white-space:pre">     </span>tinyint(1)<span class="" style="white-space:pre">        </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">fqdn_rev<span class="" style="white-space:pre">     </span>tinyint(1)<span class="" style="white-space:pre">        </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">hostname<span class="" style="white-space:pre">     </span>varchar(255)<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">state<span class="" style="white-space:pre">        </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">       </span>MUL<span class="" style="white-space:pre">       </span>0<span class="" style="white-space:pre"> </span></font></div><div class="gmail_default" style=""><font color="#000000">+ lease6</font></div><div class="gmail_default" style=""><font color="#000000">address<span class="" style="white-space:pre"> </span>varchar(39)<span class="" style="white-space:pre">       </span>NO<span class="" style="white-space:pre">        </span>PRI<span class="" style="white-space:pre">               </span></font></div><div class="gmail_default" style=""><font color="#000000">duid<span class="" style="white-space:pre"> </span>varbinary(128)<span class="" style="white-space:pre">    </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">valid_lifetime<span class="" style="white-space:pre">       </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">expire<span class="" style="white-space:pre">       </span>timestamp<span class="" style="white-space:pre"> </span>NO<span class="" style="white-space:pre">                </span>CURRENT_TIMESTAMP<span class="" style="white-space:pre"> </span>on update CURRENT_TIMESTAMP</font></div><div class="gmail_default" style=""><font color="#000000">subnet_id<span class="" style="white-space:pre"> </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">pref_lifetime<span class="" style="white-space:pre">        </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">lease_type<span class="" style="white-space:pre">   </span>tinyint(4)<span class="" style="white-space:pre">        </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">iaid<span class="" style="white-space:pre"> </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">       </span>MUL<span class="" style="white-space:pre">               </span></font></div><div class="gmail_default" style=""><font color="#000000">prefix_len<span class="" style="white-space:pre">   </span>tinyint(3) unsigned<span class="" style="white-space:pre">       </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">fqdn_fwd<span class="" style="white-space:pre">     </span>tinyint(1)<span class="" style="white-space:pre">        </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">fqdn_rev<span class="" style="white-space:pre">     </span>tinyint(1)<span class="" style="white-space:pre">        </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">hostname<span class="" style="white-space:pre">     </span>varchar(255)<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">hwaddr<span class="" style="white-space:pre">       </span>varbinary(20)<span class="" style="white-space:pre">     </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">hwtype<span class="" style="white-space:pre">       </span>smallint(5) unsigned<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">hwaddr_source<span class="" style="white-space:pre">        </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">state<span class="" style="white-space:pre">        </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">       </span>MUL<span class="" style="white-space:pre">       </span>0<span class="" style="white-space:pre"> </span></font></div><div class="gmail_default" style=""><font color="#000000">+ lease6_types</font></div><div class="gmail_default" style=""><font color="#000000">lease_type<span class="" style="white-space:pre">        </span>tinyint(4)<span class="" style="white-space:pre">        </span>NO<span class="" style="white-space:pre">        </span>PRI<span class="" style="white-space:pre">               </span></font></div><div class="gmail_default" style=""><font color="#000000">name<span class="" style="white-space:pre"> </span>varchar(5)<span class="" style="white-space:pre">        </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">+ lease_hwaddr_source</font></div><div class="gmail_default" style=""><font color="#000000">hwaddr_source<span class="" style="white-space:pre">      </span>int(11)<span class="" style="white-space:pre">   </span>NO<span class="" style="white-space:pre">        </span>PRI<span class="" style="white-space:pre">               </span></font></div><div class="gmail_default" style=""><font color="#000000">name<span class="" style="white-space:pre"> </span>varchar(40)<span class="" style="white-space:pre">       </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">+ hosts</font></div><div class="gmail_default" style=""><font color="#000000">host_id<span class="" style="white-space:pre">  </span>int(10) unsigned<span class="" style="white-space:pre">  </span>NO<span class="" style="white-space:pre">        </span>PRI<span class="" style="white-space:pre">               </span>auto_increment</font></div><div class="gmail_default" style=""><font color="#000000">dhcp_identifier<span class="" style="white-space:pre">        </span>varbinary(128)<span class="" style="white-space:pre">    </span>NO<span class="" style="white-space:pre">        </span>MUL<span class="" style="white-space:pre">               </span></font></div><div class="gmail_default" style=""><font color="#000000">dhcp_identifier_type<span class="" style="white-space:pre"> </span>tinyint(4)<span class="" style="white-space:pre">        </span>NO<span class="" style="white-space:pre">                        </span></font></div><div class="gmail_default" style=""><font color="#000000">dhcp4_subnet_id<span class="" style="white-space:pre">      </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">dhcp6_subnet_id<span class="" style="white-space:pre">      </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">ipv4_address<span class="" style="white-space:pre"> </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">hostname<span class="" style="white-space:pre">     </span>varchar(255)<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">dhcp4_client_classes<span class="" style="white-space:pre"> </span>varchar(255)<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">dhcp6_client_classes<span class="" style="white-space:pre"> </span>varchar(255)<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">+ ipv6_reservations</font></div><div class="gmail_default" style=""><font color="#000000"><br></font></div><div class="gmail_default" style=""><font color="#000000">reservation_id<span class="" style="white-space:pre">        </span>int(11)<span class="" style="white-space:pre">   </span>NO<span class="" style="white-space:pre">        </span>PRI<span class="" style="white-space:pre">               </span>auto_increment</font></div><div class="gmail_default" style=""><font color="#000000">address<span class="" style="white-space:pre">        </span>varchar(39)<span class="" style="white-space:pre">       </span>NO<span class="" style="white-space:pre">                        </span></font></div><div class="gmail_default" style=""><font color="#000000">prefix_len<span class="" style="white-space:pre">   </span>tinyint(3) unsigned<span class="" style="white-space:pre">       </span>NO<span class="" style="white-space:pre">                </span>128<span class="" style="white-space:pre">       </span></font></div><div class="gmail_default" style=""><font color="#000000">type<span class="" style="white-space:pre"> </span>tinyint(4) unsigned<span class="" style="white-space:pre">       </span>NO<span class="" style="white-space:pre">                </span>0<span class="" style="white-space:pre"> </span></font></div><div class="gmail_default" style=""><font color="#000000">dhcp6_iaid<span class="" style="white-space:pre">   </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">host_id<span class="" style="white-space:pre">      </span>int(10) unsigned<span class="" style="white-space:pre">  </span>NO<span class="" style="white-space:pre">        </span>MUL<span class="" style="white-space:pre">               </span></font></div><div class="gmail_default" style=""><font color="#000000">+ dhcp4_options</font></div><div class="gmail_default" style=""><font color="#000000">option_id<span class="" style="white-space:pre">        </span>int(10) unsigned<span class="" style="white-space:pre">  </span>NO<span class="" style="white-space:pre">        </span>PRI<span class="" style="white-space:pre">               </span>auto_increment</font></div><div class="gmail_default" style=""><font color="#000000">code<span class="" style="white-space:pre">   </span>tinyint(3) unsigned<span class="" style="white-space:pre">       </span>NO<span class="" style="white-space:pre">                        </span></font></div><div class="gmail_default" style=""><font color="#000000">value<span class="" style="white-space:pre">        </span>blob<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">formatted_value<span class="" style="white-space:pre">      </span>text<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">space<span class="" style="white-space:pre">        </span>varchar(128)<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">persistent<span class="" style="white-space:pre">   </span>tinyint(1)<span class="" style="white-space:pre">        </span>NO<span class="" style="white-space:pre">                </span>0<span class="" style="white-space:pre"> </span></font></div><div class="gmail_default" style=""><font color="#000000">dhcp_client_class<span class="" style="white-space:pre">    </span>varchar(128)<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">dhcp4_subnet_id<span class="" style="white-space:pre">      </span>int(11)<span class="" style="white-space:pre">   </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">host_id<span class="" style="white-space:pre">      </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">       </span>MUL<span class="" style="white-space:pre">               </span></font></div><div class="gmail_default" style=""><font color="#000000">+ dhcp6_options</font></div><div class="gmail_default" style=""><font color="#000000">option_id<span class="" style="white-space:pre">        </span>int(10) unsigned<span class="" style="white-space:pre">  </span>NO<span class="" style="white-space:pre">        </span>PRI<span class="" style="white-space:pre">               </span>auto_increment</font></div><div class="gmail_default" style=""><font color="#000000">code<span class="" style="white-space:pre">   </span>int(10) unsigned<span class="" style="white-space:pre">  </span>NO<span class="" style="white-space:pre">                        </span></font></div><div class="gmail_default" style=""><font color="#000000">value<span class="" style="white-space:pre">        </span>blob<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">formatted_value<span class="" style="white-space:pre">      </span>text<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">space<span class="" style="white-space:pre">        </span>varchar(128)<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">persistent<span class="" style="white-space:pre">   </span>tinyint(1)<span class="" style="white-space:pre">        </span>NO<span class="" style="white-space:pre">                </span>0<span class="" style="white-space:pre"> </span></font></div><div class="gmail_default" style=""><font color="#000000">dhcp_client_class<span class="" style="white-space:pre">    </span>varchar(128)<span class="" style="white-space:pre">      </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">dhcp6_subnet_id<span class="" style="white-space:pre">      </span>int(11)<span class="" style="white-space:pre">   </span>YES<span class="" style="white-space:pre">                       </span></font></div><div class="gmail_default" style=""><font color="#000000">host_id<span class="" style="white-space:pre">      </span>int(10) unsigned<span class="" style="white-space:pre">  </span>YES<span class="" style="white-space:pre">       </span>MUL<span class="" style="white-space:pre">               </span></font></div><div class="gmail_default" style=""><font color="#000000">+ lease_state;</font></div><div class="gmail_default" style=""><font color="#000000">state<span class="" style="white-space:pre">     </span>int(10) unsigned<span class="" style="white-space:pre">  </span>NO<span class="" style="white-space:pre">        </span>PRI<span class="" style="white-space:pre">               </span></font></div><div class="gmail_default" style=""><font color="#000000">name<span class="" style="white-space:pre"> </span>varchar(64)<span class="" style="white-space:pre">       </span>NO<span class="" style="white-space:pre">                        </span></font></div><div class="gmail_default" style="color:rgb(0,0,0);font-size:small"><br></div></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><br></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 3:11 AM, 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>
At 2016-01-05 22:28:02 +0700<br>
<span class="">"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 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> file...<br>
> This script upgrades 1.0 to 2.0. Reported version is 3.0. Skipping 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> file...<br>
> This script upgrades 2.0 to 3.0. Reported version is 3.0. Skipping 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> 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> file...<br>
> This script upgrades 4.0 to 4.1. Reported version is 3.0. Skipping upgrade.<br>
> Lease DB version reported after upgrade: 3.0<br>
<br>
</span>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>
</blockquote></div><br></div>