我有脚本(.sql)文件可以创建数据库(创建模式,过程,添加测试数据)。
我也有针对这些脚本设置的编码标准/约定。
ex:表名不得以" _tbl"结尾,所有SQL关键字(选择,更新,从)应为帽子。
是否有一种最佳/简便的方法来重命名这些(根据我的编码标准),以便当我重命名数据库对象时,引用重命名对象的其他对象应自动使用新名称
自动更新几乎没有链接可以使用。但是想确认这是最好的&简单的方法。或任何更好的方法。
例如,如果我在表中重命名了一个列,则使用新名称自动更新该列的任何存储过程。
注意:另外,请评论MySQL脚本的工具,如果其与SQL脚本的工具不同,请
非常感谢.....
更改列名不会更新引用它的存储过程。
CREATE TABLE t ( v char(1) );
INSERT INTO t SET v='x';
CREATE PROCEDURE p()
SELECT v FROM t;
CALL p();
+------+
| v |
+------+
| x |
+------+
ALTER TABLE t CHANGE COLUMN v v2 CHAR(1);
CALL p();
ERROR 1054 (42S22): Unknown column 'v' in 'field list'
视图存在类似的问题。
我认为最好的选择是使用文本编辑器编辑您的SQL脚本并进行搜索&替换为要更改的表名称的所有实例。用文本编辑器手动更新所有实例。然后运行SQL脚本。