几天前,我开始使用Elixir和Phoenix Framework(v 0.12.0)和Postgres数据库.我正在尝试创建一个具有UUID主键的表,我更喜欢顺序默认值.
在使用mix phoenix.gen.html生成模型和迁移文件并遵循Phoenix文档中的其他步骤之后,我已经更改了
def model do
quote do
use Ecto.Model
end
end
Run Code Online (Sandbox Code Playgroud)
在web.ex以
def model do
quote do
use Ecto.Model
@primary_key {:id, :uuid, []}
@foreign_key_type :uuid
end
end
Run Code Online (Sandbox Code Playgroud)
正如Ecto文档中提到的那样.我也将迁移更改为
create table(:tblname, primary_key: false) do
add :id, :uuid, primary_key: true
[other columns]
end
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我尝试从自动生成的表单向表中添加一个条目时,我收到一个错误,因为它id是null.如果我手动将id-column 添加到模型中,则会收到列已存在的错误.如果我忽略设置primary_key为false table/2并删除id列,则使用顺序id列生成表.
我是否需要id在变更集中手动设置,或者在设置我的应用程序以使用UUID时出错?提前致谢
LinkedIn有两个API版本,v1和v2.最近,我被告知LinkedIn不保证他们的v1-API能够正常工作,而且我们应该迁移到v2年前,这个信息是由LinkedIn支持员工与我们共享的.作为此信息的结果,我正在尝试将应用程序迁移到v2.
我们的客户可以向我们提供OAuth2令牌,该令牌具有公司页面的管理权限.使用该令牌,我们将从该公司页面检索帖子和评论.如果我使用v1-API,它的工作没有任何问题,但我无法使用v2-API成功请求.我尝试使用以下端点:https://api.linkedin.com/v2/shares?q = owner &owners = {URN}&sharesPerOwner = 100.我尝试了几件事.
如果我使用最新版本的协议,我总是得到错误的请求错误(代码400),否则我得到一个禁止错误(代码403).我还尝试使用以下端点https://api.linkedin.com/v2/organizationalEntityAcls?q=roleAssignee检索组织访问控制信息,但同样的问题仍然存在.这对我来说很奇怪,因为据我所知,我确实有足够的权利来检索这些数据.
我自己和同事多次检查过LinkedIn的开发者文档,不幸的是质量相当糟糕.这个API是否应该起作用?我错过了一些无证的权限吗?我在其中一个参数中犯了错误吗?我们需要以不同的方式使用OAuth吗?
在我正在开发的应用程序中,我有一个日期选择器,主要用于当前日期作为值(或几天后的日期).为了减少用户的工作量,我想将今天的日期设置为默认值.
我可以轻松地设置年份:
date_select f, :date, class="form_control", year: [options: @current_year, @current_year+1],但是没有设法做出类似的月份和日期.
我试着改变代码date_select f, :date, class="form_control", year: [options: @current_year, @current_year+1], month: [default: 2],
date_select f, :date, class="form_control", year: [options: @current_year, @current_year+1], month: [default: "2"],
date_select f, :date, class="form_control", year: [options: @current_year, @current_year+1], month: [default: "02"],但这些都不奏效.更换default有value没有什么区别.我犯了什么错误?
提前致谢