sql select中的tab和whitespace字符

时间:2017-05-08 22:44:39

标签: sql ruby-on-rails-4 activerecord ruby-on-rails-4.2

我正在使用Rails 4并在模型中执行左外连接的简化版本。为了便于阅读,我在一些参数中有一些换行符和中间字符串,供我使用的其他开发人员使用。

    self.joins('LEFT OUTER JOIN answers 
                ON questions.id = answers.question_id').
                where(test_id: test_id).
                where("answers.student_id = ? 
                OR answers.student_id IS NULL", student_id).
                select('questions.*, answers.text 
                AS answer_text')

当我在最后标记#to_sql时,这将成为以下代码。 (我在示例中为可读性添加了换行符)

  "SELECT questions.*, answers.text\n
  \t\t\t\t\t\t\t\tAS answer_text 
  FROM \"questions\" 
  LEFT OUTER JOIN answers\n
  \t\t\t\t\t\t\t\tON questions.id = answers.question_id 
  WHERE \"tests\".\"test_id\" = 1 
  AND (answers.student_id = 1\n
  \t\t\t\t\t\t\t\tOR answers.student_id IS NULL)"

我担心的是,活动记录是在SQL查询中插入“\ t \ t \ t \ tt”和“\ n”字符。我希望有人可以告诉我这是否会成为一个问题,或者我是否可以安全地将其提交给生产。查询正常运行并通过所有测试,因此目前不是问题。

我可以将参数作为不间断的字符串运行,但那些是最厚的部分。另一个选择是只做原始SQL,但我宁愿不做代码库一致性。

如果没有编辑器中的换行符,这是一个主要的眼睛和厚实的方法调用。

同样的查询表现得像我需要的那样,只是好奇是否会有后果。

0 个答案:

没有答案