将 postgresql 数据库的架构名称从 "public" 修改为 "my-project"
Modify schema name of postgresql db from "public" to "my-project"
我使用 ActiveRecord
将更改迁移到 postgresql 数据库。架构名称默认为 "public"。将其重命名为 "my-project-name".?
的最佳方法在哪里
ActiveRecord::Migration
中没有这样的方法来更改方案名称,但您可以使用plain sql command
。
首先生成迁移文件:
$> bundle exec rails g migration RenameSchema
然后打开并添加:
class RenameSchema < ActiveRecord::Migration
def up
execute "ALTER SCHEMA you_old_name RENAME TO you_new_name"
end
def down
execute "ALTER SCHEMA you_new_name RENAME TO you_old_name"
end
end
通过该迁移,您可以更改名称并将其回滚。
注意:您必须拥有架构才能使用 ALTER SCHEMA。要重命名架构,您 还必须具有数据库的创建权限。
我使用 ActiveRecord
将更改迁移到 postgresql 数据库。架构名称默认为 "public"。将其重命名为 "my-project-name".?
ActiveRecord::Migration
中没有这样的方法来更改方案名称,但您可以使用plain sql command
。
首先生成迁移文件:
$> bundle exec rails g migration RenameSchema
然后打开并添加:
class RenameSchema < ActiveRecord::Migration
def up
execute "ALTER SCHEMA you_old_name RENAME TO you_new_name"
end
def down
execute "ALTER SCHEMA you_new_name RENAME TO you_old_name"
end
end
通过该迁移,您可以更改名称并将其回滚。
注意:您必须拥有架构才能使用 ALTER SCHEMA。要重命名架构,您 还必须具有数据库的创建权限。