Quo*_*aru -1 sql elixir ecto phoenix-framework
我想Ecto使用自定义SQL代码生成新的迁移,而不是使用提供的帮助程序.当前的mix生成器任务仅处理模型.
如何在迁移中编写原始SQL代码?
首先使用提供的Mix Task创建一个新的迁移,并根据需要调用它:
$ mix ecto.gen.migration my_custom_migration
Run Code Online (Sandbox Code Playgroud)
现在编辑新生成的迁移模块,priv/repo/migrations/并change使用up和down方法替换空方法.
然后execute/1,您可以使用原始SQL代码调用它们:
defmodule MyApp.Repo.Migrations.MyCustomMigration do
use Ecto.Migration
def up do
# Your custom SQL code
execute "CREATE TABLE some_table ..."
end
def down do
execute "DROP TABLE some_table;"
end
end
Run Code Online (Sandbox Code Playgroud)