如何将ecto迁移到部分?
我使用相同的列名称名称
,地址
, phone 等。
在我的迁移中,我想做一个部分,打电话给他们,而不是一遍又一遍地编写:
defmodule App.Repo.Migrations.CreateUsers do
use Ecto.Migration
def change do
create table(:settings) do
add :blah, :string
App.Repo.Migrations.Common.stuff
defmodule App.Repo.Migrations.Common do
def stuff do
add :name, :string
add :address, :string
add :phone, :string
但是我会遇到一个错误(undefinedFunctionError)函数app.repo.migrations.common.stuff/0是不确定的
。在铁轨中,这是用 require_relative
完成的
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我可以猜想您将文件
common.ex
在priv/repo/migration
内部放置,该不包括在编译时,您需要2件事:
common.ex
内部lib/
,以进行编译和加载。使用ecto.migration
上面的def stuck do
,以定义要导入的add()
。I can guess you put the file
common.ex
insidepriv/repo/migration
which is not included while compilationfor this to work you need 2 things:
common.ex
insidelib/
, in order to be compiled and loaded.use Ecto.Migration
abovedef stuff do
, for the definition ofadd()
to be imported.您可以定义一个函数,就像“ noreflow noreferrer”>
时间戳/1
:You can define a function, just like
timestamps/1
: