黄沙百战穿金甲,不破楼兰终不还。这篇文章主要讲述更新rails app中的手动数据库更改相关的知识,希望能为你提供帮助。
我在rails中创建了以下列的“Country”表:
国家 ID 国家代码 名称 字首 网址然后,phppgadmin和now表中的更新列名称如下所示:
国家 ID COUNTRY_ID 国家的名字 country_iso 网址但是,在rails中我的架构仍然如下:
create_table“countries”,force:true do | t | t.integer“country_code” t.string“name” t.string“前缀” t.string“url” t.datetime“created_at” t.datetime“updated_at” 结束如何更新从phppgadmin到我的rails应用程序所做的更改。
PS:我是初学者。如果我采取任何错误的方法,请帮助我。谢谢。
答案【更新rails app中的手动数据库更改】您可以使用
bin/rake db:schema:dump
重建架构,但在您执行此操作之前需要备份一分钟。如果你想要改变你的数据库结构,不要用其他工具做这个,而是做一个migration。这是一篇关于如何使用迁移重命名列的stackoverflow文章:How can I rename a database column in a Rails migration?(在链接的stackoverflow问题中使用rails 3.1版本,它仍然对rails 4+有效)
另一答案您始终可以使用迁移重命名列名称,这也是最佳做法(如果我错了,请纠正我)。
创建迁移文件
rails g migration RenameColumnNameTableName
它将生成一个迁移文件
“#{} CURRENT_TIMESTAMP _rename_column_name_table_name.rb”编写迁移以更改列名称
class RenameColumnNameTableName <
ActiveRecord::Migration
def change
rename_column :table_name, :old_column_name, :new_column_name
end
end
运行
rake db:migrate
,您会注意到架构文件中的更改。推荐阅读
- Xamarin | Android |自定义键盘Android.Views.KeyCode
- Rails 4.2常量 - 放置它们的位置(application.yml vs custom config file.rb)
- Rails - 致命(数据库“myapp_development”不存在)
- 查找使用@RequestMapping注释的函数的完全限定URL
- 使用Bottle框架构建Rest API
- 测试你的Go App(正确入门)
- 编写代码以重写代码(jscodeshift)
- Web Audio API教程(为什么可以编写代码())
- Webpack或Browserify&Gulp(哪个更好())