Ecto.migrate 创建数据库模式
Ecto.migrate create database schema
我刚刚开始使用 Elixir/Phoenix 和 Ecto 迁移。我找不到使用迁移创建 Postgres 数据库模式的方法。在不久的将来,我的数据库将需要多达 4 个不同的模式。我的意思是这样做,但创建一个模式而不是 table。我不确定是否可以做到,但如果可以,怎么做?谢谢
def change do
create table(:people) do
...
end
end
Ecto.Migration.execute/1
函数正是您要找的。您可以使用它来执行任意 SQL 命令,例如创建用户、模式或向数据库添加扩展。
defmodule Example.Migrations.MakeSchema do
use Ecto.Migration
execute "CREATE SCHEMA example"
end
我刚刚开始使用 Elixir/Phoenix 和 Ecto 迁移。我找不到使用迁移创建 Postgres 数据库模式的方法。在不久的将来,我的数据库将需要多达 4 个不同的模式。我的意思是这样做,但创建一个模式而不是 table。我不确定是否可以做到,但如果可以,怎么做?谢谢
def change do
create table(:people) do
...
end
end
Ecto.Migration.execute/1
函数正是您要找的。您可以使用它来执行任意 SQL 命令,例如创建用户、模式或向数据库添加扩展。
defmodule Example.Migrations.MakeSchema do
use Ecto.Migration
execute "CREATE SCHEMA example"
end