我准备好创建数据库的脚本(.sql)文件(创建模式,程序,添加测试数据)。
我还有针对这些脚本设置的编码标准/约定。
Ex:表名不应以" _tbl"结尾,所有SQL关键字(SELECT,UPDATE,FROM)都应该是大写。
是否有最好/最简单的方法来重命名这些(根据我的编码标准),这样当我重命名数据库对象时,引用重命名对象的其他对象应该使用新名称自动更新
Found few links to serve this。但是想确认这是最好的&简单的方法。或者比这更好的方式..
例如,如果我重命名表中的列,则引用该列的任何存储过程都将使用新名称自动更新。
注意:如果MySQL脚本的工具与SQL脚本工具不同,请注释有关MySQL脚本的工具
非常感谢提前.....
答案 0 :(得分:0)
更改列名不会更新引用它的存储过程。
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脚本。