【问题标题】:Rails-2 Mysql to MSSQL converstion - (NULL) display in form fieldsRails-2 Mysql 到 MSSQL 转换 - (NULL) 显示在表单字段中
【发布时间】:2015-05-26 22:19:34
【问题描述】:

我已使用 SSMA 工具成功地将我的 Rails (2.3.18) 应用程序 DB Mysql 迁移到 MSSQL-2012。

我的数据库中有 25 个表,所有数据都迁移得很好。在我的所有表中,很少有列接受 NULL 值。

例如:

在 MYSQL => 如果我加载用户注册表单,所有文本字段都会加载空值,以便用户在其中键入相应的值。

如果是 MSSQL

在 MSSQL => 如果我加载用户注册表单,所有文本字段都显示为带有值 (NULL),以便用户在其中键入相应的值。

我搜索了一下,发现我们应该设置类似 :default NULL false 属性

看来我必须打开每个表及其每一列才能设置此属性。它变得困难。

有什么办法可以去掉所有新表单中显示的(NULL)。请帮忙提前谢谢

【问题讨论】:

  • 应该有办法在数据库端做到这一点,但是如果你这样做Model.new(attribute: "", attribute2: "")会发生什么?
  • 它使用它但没有运气@clark

标签: ruby-on-rails sql-server sql-server-2012


【解决方案1】:

我不确定您是否可以在 Ruby 中执行此操作,但在 Jquery 中执行此操作可能会奏效。但是,您绝对应该修复数据库。

$(document).ready(function() {               //On document ready
    $("form").find('input').each(function(){ //find all inputs in forms
        if ($(this).val() == "(NULL)") {     //if the value of an input is "(NULL)"
            $(this).val("");                 //Set it to ""
        }
    })
})

【讨论】:

  • 是的。它应该工作。但是正如您所说,上述解决方案是另一种选择。我应该找到数据库级别的变化。感谢克拉克先生的回答
猜你喜欢
  • 1970-01-01
  • 2015-07-25
  • 1970-01-01
  • 2017-12-11
  • 1970-01-01
  • 1970-01-01
  • 2012-01-30
  • 1970-01-01
  • 2017-03-03
相关资源
最近更新 更多