Openstack中更新表结构:修改表的某个字段使之可以为空

此例修改sfcsfc_portpair_details中的local_endpoint字段,使之可以为空。

 

sfc_portpair_details原始表结构定义如下:

Openstack中更新表结构:修改表的某个字段使之可以为空

对应数据库的表结构如下:

Openstack中更新表结构:修改表的某个字段使之可以为空

我的表可能与大家默认的表不同,不过这里我们只关注local_endpoint字段。 


为了修改这个字段,上网找了很多文章,发现要么不太适合,要么操作不生效,所以采用如下最笨或者最直接的方法,如果大家有更为有效可行的方法,希望大家多多指教,不胜感激。

 

我是采用升级数据库,然后在对应生成的文件中,采用sql语句直接操作数据库,如下:

 

1. 更新数据库,生成更新数据的文件

Openstack中更新表结构:修改表的某个字段使之可以为空

2. 修改生成的文件,执行sql语句

Openstack中更新表结构:修改表的某个字段使之可以为空

注:该sql语句:alter table sfc_portpair_details modify local_endpoint varchar(64) Null

   修改模型:alter table 表名 modify 字段名 字段类型 Null/not Null


3.更新数据库:

Openstack中更新表结构:修改表的某个字段使之可以为空

至此,修改完成


现在我们来看一下表格的local_endpoint字段是否允许为空:

Openstack中更新表结构:修改表的某个字段使之可以为空

显然,修改生效。