Rails-SQLite3 :: SQLException:在“ USING”附近:语法错误

罗伯

我最近将应用程序部署到了Heroku,因此必须对其中一个表中的几列进行一些修改。具体来说,我做了以下工作:

class ChangeCancelColumnOrders < ActiveRecord::Migration
  def change
    change_column :orders, :cancel, 'boolean USING CAST(cancel AS boolean)'
  end
end

IE浏览器我添加了'boolean USING CAST(cancel AS boolean)'一部分,因为当试图做一个heroku run rake db:migrate它给出了这个错误:

PG::DatatypeMismatch: ERROR: column "cancel" cannot be cast automatically to type boolean

此问题已得到解决,在Heroku上一切正常。

现在的问题是,当我尝试在rake db:migrate本地运行时,出现以下错误:

SQLite3::SQLException: near "USING": syntax error:
CREATE TABLE "orders" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "created_at" datetime, "updated_at" datetime, "first_name" varchar(255), "last_name" varchar(255), "email" varchar(255), "address_1" varchar(255), "address_2" varchar(255), "city" varchar(255), "postal_code" varchar(255), "country_code" varchar(255), "shipped_date" date, "total_price" integer, "shipped" boolean DEFAULT 'f', "cancel" boolean USING CAST(cancel AS boolean) DEFAULT 'f', "cancel_date" date)

我可以看到boolean USING CAST(cancel AS boolean)已将其添加到该cancel列中,但是我不知道如何解决该问题?

欧文·布兰德斯特(Erwin Brandstetter)

如果我理解正确,则说明您正在使用SQLite进行开发,但正在Heroku上部署到Postgres

就是问题所在。解决方案是在本地也使用Postgres进行开发。最好与相同的版本。SQL实现之间存在许多差异,一旦您使用除基本DML命令以外的任何其他方法,您就会遇到障碍。

什么等价SQLite中这样PostgreSQL的DDL命令:

ALTER TABLE orders ALTER cancel TYPE boolean USING CAST(cancel AS boolean);

SQLite的实现ALTER TABLE非常有限。每个文档:

SQLite支持ALTER TABLE的有限子集。SQLite中的ALTER TABLE命令允许用户重命名表或向现有表添加新列。

对于表模式的所有其他更改,SQLite手册中有一个配方。

相关答案:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQLite3 :: SQLException:在“ CONSTRAINT”附近:语法错误

来自分类Dev

“ SQLite3 :: SQLException:在“。”附近:语法错误”是什么意思?

来自分类Dev

sqlite3:在“附近”。:语法错误

来自分类Dev

sqlite3:在“附近”。:语法错误

来自分类Dev

Python sqlite3 OperationalError:“?”附近:语法错误

来自分类Dev

如何修复 SQLite3::SQLException: near "to": 语法错误:SELECT "".* FROM "" WHERE ""."" = ?AND (to < '[Time.now]') LIMIT ?抵消?

来自分类Dev

SQLite语法错误附近“?”

来自分类Dev

Rails关联:SQLite3 :: SQLException:没有这样的列

来自分类Dev

sqlite3.OperationalError:“ WHERE”附近:语法错误(Python 2,sqlite3)

来自分类Dev

sqlite3.OperationalError:“ WHERE”附近:语法错误(Python 2,sqlite3)

来自分类Dev

Python SQlite3 更新函数,sqlite3.OperationalError:“WHERE”附近:语法错误

来自分类Dev

java.sql.SQLException:“.”附近:语法错误

来自分类Dev

sqlite3,python,CREATE TABLE-在“ /”附近:语法错误

来自分类Dev

sqlite3,python,CREATE TABLE-在“ /”附近:语法错误

来自分类Dev

“ @domain” SQLite附近的语法错误

来自分类Dev

Android SQLite:SQLiteException:在“?”附近 语法错误

来自分类Dev

“ s”附近的SQLite Exception语法错误

来自分类Dev

“ @domain” SQLite附近的语法错误

来自分类Dev

LIKE子句附近的SQLite语法错误

来自分类Dev

SQLite CREATE TABLE [在“”附近:语法错误]

来自分类Dev

SQLite if条件-在“ CASE”附近:语法错误

来自分类Dev

语法错误android sqlite:在“组”附近

来自分类Dev

“AUTOINCREMENT”附近的 SQLite 语法错误

来自分类Dev

迁移错误:SQLite3 :: SQLException:没有这样的表:main.users

来自分类Dev

Python2.7 - SQLite3 库输出错误消息“sqlite3.OperationalError:附近“?”:语法错误”

来自分类Dev

Rails 4-Heroku Sqlite3错误

来自分类Dev

Rails服务器Gem加载错误-SQlite3

来自分类Dev

SQLITE3错误:格式错误的数据库架构(is_transient)-在“ where”附近:语法错误

来自分类Dev

sqlite3.OperationalError:“”附近:语法错误

Related 相关文章

  1. 1

    SQLite3 :: SQLException:在“ CONSTRAINT”附近:语法错误

  2. 2

    “ SQLite3 :: SQLException:在“。”附近:语法错误”是什么意思?

  3. 3

    sqlite3:在“附近”。:语法错误

  4. 4

    sqlite3:在“附近”。:语法错误

  5. 5

    Python sqlite3 OperationalError:“?”附近:语法错误

  6. 6

    如何修复 SQLite3::SQLException: near "to": 语法错误:SELECT "".* FROM "" WHERE ""."" = ?AND (to < '[Time.now]') LIMIT ?抵消?

  7. 7

    SQLite语法错误附近“?”

  8. 8

    Rails关联:SQLite3 :: SQLException:没有这样的列

  9. 9

    sqlite3.OperationalError:“ WHERE”附近:语法错误(Python 2,sqlite3)

  10. 10

    sqlite3.OperationalError:“ WHERE”附近:语法错误(Python 2,sqlite3)

  11. 11

    Python SQlite3 更新函数,sqlite3.OperationalError:“WHERE”附近:语法错误

  12. 12

    java.sql.SQLException:“.”附近:语法错误

  13. 13

    sqlite3,python,CREATE TABLE-在“ /”附近:语法错误

  14. 14

    sqlite3,python,CREATE TABLE-在“ /”附近:语法错误

  15. 15

    “ @domain” SQLite附近的语法错误

  16. 16

    Android SQLite:SQLiteException:在“?”附近 语法错误

  17. 17

    “ s”附近的SQLite Exception语法错误

  18. 18

    “ @domain” SQLite附近的语法错误

  19. 19

    LIKE子句附近的SQLite语法错误

  20. 20

    SQLite CREATE TABLE [在“”附近:语法错误]

  21. 21

    SQLite if条件-在“ CASE”附近:语法错误

  22. 22

    语法错误android sqlite:在“组”附近

  23. 23

    “AUTOINCREMENT”附近的 SQLite 语法错误

  24. 24

    迁移错误:SQLite3 :: SQLException:没有这样的表:main.users

  25. 25

    Python2.7 - SQLite3 库输出错误消息“sqlite3.OperationalError:附近“?”:语法错误”

  26. 26

    Rails 4-Heroku Sqlite3错误

  27. 27

    Rails服务器Gem加载错误-SQlite3

  28. 28

    SQLITE3错误:格式错误的数据库架构(is_transient)-在“ where”附近:语法错误

  29. 29

    sqlite3.OperationalError:“”附近:语法错误

热门标签

归档