Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何删除外星长生不老药中的主键列_Postgresql_Elixir_Ecto - Fatal编程技术网

Postgresql 如何删除外星长生不老药中的主键列

Postgresql 如何删除外星长生不老药中的主键列,postgresql,elixir,ecto,Postgresql,Elixir,Ecto,当我在迁移中使用remove键时,它不是删除表中的约束,而是只删除列名。请帮助我如何创建该迁移文件 defmodule ControlCenter.Repo.Migrations.CreateRemedyTable do use Ecto.Migration def up do create table(:remedy, primary_key: false) do add :remedy_code, :string, primary_key: true add :de

当我在迁移中使用remove键时,它不是删除表中的约束,而是只删除列名。请帮助我如何创建该迁移文件

defmodule ControlCenter.Repo.Migrations.CreateRemedyTable do
use Ecto.Migration

def up do
  create table(:remedy, primary_key: false) do
     add :remedy_code, :string, primary_key: true
     add :description, :string
     add :cause_code, :string, primary_key: true

  end
 end

 def down do
    drop table(:remedy)
 end
end

我想从表中删除原因代码如果您想删除列,您需要在将列修改为不属于复合主键后删除该列:

alter table("remedy") do
  modify(:cause_code, primary_key: false)
  remove(:cause_code)
end
如果要为此迁移删除它,请将其添加到
up
函数中。如果要一次性删除它,您可以
导入exto.Query
并在
iex-S mix
中执行上述操作。请记住,没有一个好的解决方案可以通过删除列来向下迁移,特别是当它是复合键的一部分时