小编jst*_*tim的帖子

告诉Vagrant主机的ip

我正在使用一个流浪盒作为一个开发机器,用于一个奇怪的依赖项目,我似乎只能安装在ubuntu上.

我创建了我的数据库并在我的主机上安装了我的应用程序代码,并通过NFS文件共享和postgres配置与vagrant实例共享它们.

我的问题是,当我将计算机从工作地移到家里时,我的计算机的IP会发生变化而我的计算机database.yml无效.为了使我的服务器和控制台正常工作,我需要在每次加入新网络时使用主机的新IP地址更新yaml文件.

由于rails应用程序在vagrant上运行(即使它的文件位于我的主机上),任何尝试从ifconfig中取出ip的尝试都将失败,因为它正在查看VM而不是主机框.所以像这样的东西不起作用:

# database.yml
development:
  host: <%= `ifconfig en0 | grep "inet " | cut -d" " -f2` %>
Run Code Online (Sandbox Code Playgroud)

Vagrant文​​件中是否有配置传递此信息,或者是否可以创建ubuntu实例可以读取的主机ip的ENV变量?

ruby-on-rails vagrant ruby-on-rails-4

31
推荐指数
3
解决办法
2万
查看次数

Mongoid 3中Rails模型的强一致性

我希望特定模型的所有数据库交互都通过集群中的mongo主数据库,因此我将模型设置为使用强一致性.

class Photo
  include Mongoid::Document
  with consistency: :strong

  field :number, type: Integer
  # let's say a photo number is unique in the db
  validate :unique_number
end
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用,因为当我将两张照片非常靠近地保存在一起时,我仍然遇到验证错误.

photo1 # db has number=1 for this object
photo1.update_attributes(number: 2)
photo2.number = 1
photo2.save! # <= this raises a validation exception
Run Code Online (Sandbox Code Playgroud)

我对强一致性的理解是,这里不应该有比赛.它应该执行写入然后执行读取,因为它完全不在主要内容,所以不应该发生冲突.我错过了什么?

ruby ruby-on-rails-3 mongoid3

6
推荐指数
1
解决办法
376
查看次数

Ruby:直接运行时传递规范,在Guard中运行时传递TypeError

我正在更新一个宝石,以确保它适用于新版本的bitly和rspec宝石,我遇到了一个奇怪的问题.

当我运行guard以确保所有测试都通过新gem时,我得到一个TypeError; 但是,如果我直接运行我的测试套件只是rspec他们都通过并且不抛出错误.

如果你想看到整个shebang,我的代码可以在GitHub找到.

从挖掘开始,我看到人们建议将类包装在自己的模块中以防止类名冲突,但由于它只是正常工作rspec,我希望我不需要添加另一层.

这是TypeError:

/Users/jstim/Documents/Programming/Ruby/uncoil/lib/uncoil.rb:6:in'':Uncoil不是
来自/ Users/jstim/Documents/Programming/Ruby/uncoil/spec/uncoil_spec 的类(TypeError).rb:1:
来自/Users/jstim/Documents/Programming/Ruby/uncoil/spec/uncoil_spec.rb:1:in'的'require_relative '
来自/Users/jstim/.rvm/gems/ruby-1.9.2 -p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:
来自/Users/jstim/.rvm/gems/ruby-1.9.2-p290/gems/的'load' rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:
来自/Users/jstim/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core的'block in load_spec_files' -2.8.0/lib/rspec/core/configuration.rb:698:
来自/Users/jstim/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/的'map' lib/rspec/core/configuration.rb:698:
来自/Users/jstim/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core的'load_spec_files' /command_line.rb:22:in运行
来自/Users/jstim/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb: 80:
来自/ Users/jstim /的'run_in_process' .rvm/gems/ruby​​-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:
来自/Users/jstim/.rvm/gems/ruby的'run' -1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:在'block in autorun'中

如果我可以提供其他代码来帮助我,请告诉我们.谢谢!

ruby rspec guard

2
推荐指数
1
解决办法
979
查看次数

SQL触发器触发但未插入原始值

我正在将我的数据库从太平洋时间的日期时间转换为UTC,但不会同时更改所有代码.

我正在尝试编写一个触发器,它将更新在任一列中输入的时间并转换它们并将它们插入另一列.

防爆.如果我在OriginalTime列中插入太平洋时间,它应该将时间转换为UTC并使用UTC时间更新NewTime列.相反,如果我在NewTime中插入/更新值,它应该将时间转换回Pacific并将其放入OriginalTime中.

我是不是错误地循环了什么东西?

ALTER TRIGGER tr_Calls_CreateDate ON Calls
AFTER INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON

DECLARE
    @CallId INT,
    @CreateDate DATETIME,
    @CreateDateUTC DATETIME

--Create cursor
DECLARE CreateDate_Cursor CURSOR LOCAL FOR
    SELECT CallId, CreateDate, CreateDateUTC FROM Inserted

OPEN CreateDate_Cursor;

-- Get First Row
FETCH NEXT FROM CreateDate_Cursor INTO @CallId, @CreateDate, @CreateDateUTC;

WHILE @@FETCH_STATUS = 0
BEGIN
    IF UPDATE ([CreateDate])
    BEGIN
        UPDATE Calls
        SET CreateDateUTC = dbo.ConvertPacificTimeToUTC(@CreateDate)
        WHERE CallId = @CallId
    END

    IF UPDATE ([CreateDateUTC])
    BEGIN
        UPDATE Calls
        SET CreateDate = …
Run Code Online (Sandbox Code Playgroud)

sql triggers sql-server-2005

0
推荐指数
1
解决办法
189
查看次数

Kubernetes不接受新的职位定义

我正在EKS上运行作业。尝试使用无效的Yaml开始工作后,似乎并没有放弃不良的Yaml,即使在更正文件后也一直给我同样的错误消息。

  1. 我成功地完成了工作。
  2. 我在本env节中添加了一个带有布尔值的环境变量,这引发了该错误:
    • Error from server (BadRequest): error when creating "k8s/jobs/create_csv.yaml": Job in version "v1" cannot be handled as a Job: v1.Job: Spec: v1.JobSpec: Template: v1.PodTemplateSpec: Spec: v1.PodSpec: Containers: []v1.Container: v1.Container: Env: []v1.EnvVar: v1.EnvVar: Value: ReadString: expects " or n, but found t, error found in #10 byte of ...|,"value":true},{"nam|..., bigger context ...|oduction"},{"name":"RAILS_LOG_TO_STDOUT","value":true},{"name":"AWS_REGION","value":"us-east-1"},{"n|...
  3. 我将值更改为字符串yes,但错误消息继续显示原始的,错误的Yaml。
  4. 没有工作出现在 kubectl get jobs --all-namespaces
    • 所以我不知道这个旧的Yaml会藏在哪里。

我以为这可能是因为我没有imagePullPolicy设置为Always,但是即使我在kubectl本地运行命令也会发生这种情况。

以下是我的工作定义文件:

apiVersion: batch/v1
kind: Job
metadata:
  generateName: create-csv-
  labels: …
Run Code Online (Sandbox Code Playgroud)

kubernetes amazon-eks

0
推荐指数
1
解决办法
786
查看次数