在运行rake db:migrate时,有时会发现 rake abort 的错误,rake说某个表已经存在,因此这个migrate的工作它干不了。这个表确实是已经存在的,那么如何让rake跳过这个表,或是强制覆写这个表呢?有一处需要修改:
原migrate文件:
ruby 代码
- class CreateProducts < ActiveRecord::Migration
- def self.up
- create_table :products do |t|
- t.column :title, :string
- t.column :description, :text
- t.column :image_url, :string
- end
- end
-
- def self.down
- drop_table :products
- end
- end
修改后的migrate文件:
ruby 代码
- class CreateProducts < ActiveRecord::Migration
- def self.up
- create_table :products, :force => true do |t|
- t.column :title, :string
- t.column :description, :text
- t.column :image_url, :string
- end
- end
-
- def self.down
- drop_table :products
- end
- end
看出来了吗,在create_table的参数中,加上 :force => true即可。
分享到:
- 2007-11-23 20:59
- 浏览 3660
- 评论(1)
- 论坛回复 / 浏览 (1 / 3603)
- 查看更多
相关推荐
阿里云批量上传代码制品库插件:migrate-local-repo-tool 阿里云批量上传代码制品库插件:migrate-local-repo-tool 阿里云批量上传代码制品库插件:migrate-local-repo-tool
当您将节点项目定义为ES6模块时,尝试导入由db-migrate工具生成的.js文件时出现错误。 [ERROR] AssertionError [ERR_ASSERTION]: ifError got unwanted exception: Must use import to load ES Module 提出的解决...
Capistrano :: Rails :: Db Capistrano v3的Rails迁移任务: 在终端中运行cap -T deploy:db以获取迁移任务的完整列表: ...cap deploy:db:migrate # Run rake db:migrate Migrate the database (opti
$ rails db:migrate:down VERSION= $ rails db:migrate:up VERSION= $ rails db:rollback $ rails db:rollback_to VERSION= $ rails db:migrate:redo $ rails db:migrate:reset $ rails db:migrate:status $ rails ...
grunt db:migrate:create --name = create_guests_schema grunt db:migrate:up grunt db:migrate:down --count = 150 您需要设置config/migrations.js来命名用于运行迁移的连接。 // config/migrations.js...
migrate -path ./db/migrations create add_field_to_table migrate -url postgres://user@host:port/database -path ./db/migrations -timeout 10 up migrate -url postgres://user@host:port/database -path ./db/...
每个项目的基于角色的访问 测试 概括 在 travis-ci.org(主分支)上 测试政策 一切都应该被测试覆盖 ...rake db:drop db:create db:migrate db:test:load db:test:prepare redmine:plugins:migrate redmine:load
现在可以通过以下方式使用DB-Migrate: $ db-migrate 作为本地模块 是否要使用db-migrate作为本地模块? $ npm install db-migrate 现在可以通过以下方式使用DB-Migrate: $ node node_modules/db-migrate/bin/db...
jQuery Migrate 是一个插件,它的主要目的是帮助开发者平滑地过渡到较新版本的 jQuery,解决老版本代码在新版本中可能遇到的兼容性问题。在jQuery Migrate 3.4.0版本中,我们看到了对旧API和功能的维护,以及对现代...
首先,当我们尝试使用`python3 manage.py migrate`命令迁移数据库时,如果遇到“Table XX already exists”的错误,这是因为Django尝试创建已存在于数据库中的表。为了解决这个问题,我们需要处理表与表之间的外键...
django.db.utils.OperationalError: (1050, "Table 'xxx' already exists") 要处理这种情况,如果是数据表都已经存在了,在migrate时直接使用 –fake-initial 来处理 python manage.py migrate –fake-initial 如果...
克隆/下载仓库确保Postgres数据库正在运行运行bundle install从Gemfile安装所有gem 运行rails db:drop然后运行rails db:drop rails db:create然后rails db:migrate创建数据库表要启动服务器,请运行命令rails s 在...
Instantboard API服务器入门 # initialize$ npm run db:create$ npm run db:migrate$ npm run dev测试 # initialize$ npm run db:create$ NODE_ENV=test npm run db:migrate# run test$ npm test端到端测试 # ...
migrate 创建迁移时,它应继承自ActiveRecord::Migration[5.2]自定义迁移路径该Rake文件希望你在你的迁移db/migrat4 ,但如果你想在不同的位置,编辑: #... snipActiveRecord::Migrator.migrate("lib/db/migrations...
山脊极轨 Ridgepole-rails提供了两个Rake任务: ridgepole:export和ridgepole:apply它们分别包装的ridgepole --export和ridgepole --apply 。 用法 要将数据库的当前架构导出到Schemafile ... db:migrate:status , db
ruby sample: @echo off cd D:\proj\demo ...rem load test data (it depends on the db:environment and db:migrate tasks) call rake db:load_test_data call ruby script/server webrick @echo on
自述文件 该自述文件通常会记录启动和运行应用程序所需的所有步骤。...rails db:migrate:reset 轨道测试 Rails G迁移add_remember_digest_to_users记住_digest:字符串 Heroku日志 Heroku打开 Heroku
4. 状态存储:db-migrate-base会在数据库中创建一个表来记录迁移的历史状态,这样在下次运行时,系统可以根据这个状态决定执行哪些迁移。 四、实际应用 1. 开发流程:在开发阶段,开发者可以频繁地创建和执行迁移...
主要给大家介绍了关于执行python manage.py migrate时报错:django.db.utils.ProgrammingError: (1146, "Table 'test.model_student' doesn't exist" )问题的解决方法,文中将解决的方法介绍的非常详细,需要的朋友...
数据迁移 将数据迁移与模式迁移一起运行。 数据迁移存储在db/data 。 它们的行为类似于架构迁移,只是它们应保留用于数据... 当然,您要测试迁移,因此可以选择db:migrate:with_data或data:migrate来捕获数据更改。