CREATE SCHEMA "myFoo bar";
CREATE TABLE "myFoo bar"."foo bar myBaz" ( "my foo" int, "myBar" int, "MyBaz" text, "myFooBarBaz" int, "MyFoo Bar Baz" int, "myTestQ" uuid );
format
-----------------------------------------------------------------------------------------------
ALTER TABLE test.my_foo_bar.foo_bar_my_baz RENAME COLUMN "MyFoo Bar Baz" TO my_foo_bar_baz;
ALTER TABLE test."myFoo bar"."foo bar myBaz" RENAME COLUMN "my foo" TO my_foo;
ALTER TABLE test."myFoo bar"."foo bar myBaz" RENAME COLUMN "myBar" TO my_bar;
ALTER TABLE test."myFoo bar"."foo bar myBaz" RENAME COLUMN "MyBaz" TO my_baz;
ALTER TABLE test."myFoo bar"."foo bar myBaz" RENAME COLUMN "myFooBarBaz" TO my_foo_bar_baz;
ALTER TABLE test."myFoo bar"."foo bar myBaz" RENAME COLUMN "MyFoo Bar Baz" TO my_foo_bar_baz;
ALTER TABLE test."myFoo bar"."foo bar myBaz" RENAME COLUMN "myTestQ" TO my_test_q;
ALTER TABLE test."myFoo bar"."foo bar myBaz" RENAME TO foo_bar_my_baz;
ALTER SCHEMA "myFoo bar" RENAME TO my_foo_bar;
(9 rows)
迁移到 PostgreSQL 约定
在 PostgreSQL 中,按照惯例并且有充分的理由,我们在标识符(列、表、模式等)中既不使用空格也不使用大写字母。的使用
_
是纯粹的风格。在这个例子中,我们' '
为'_'
camelCase
到snake_case
此代码没有任何改变,但输出相应的
ALTER
命令来更新架构(包括架构、表和列名)从那里您可以编辑要运行的命令,删除您不想要的命令,或者如果您使用 psql并且它们将执行,则只需运行。
\gexec
测试
如果您愿意,可以测试上述内容
注意因为上面有一个碰撞到
my_foo_bar_baz
,你会看到这只是证实,如果你碰巧遇到这种情况,不会发生任何灾难性的事情。不大可能