Ruby on rails 是否可以在rails中不迁移rails g的情况下将数据库字段添加到现有数据库表中
我是RubyonRails新手,所以我对Rails迁移有些困惑 我想在我的用户表中添加一个字段,根据rails文档,只有使用Ruby on rails 是否可以在rails中不迁移rails g的情况下将数据库字段添加到现有数据库表中,ruby-on-rails,postgresql,database-migration,Ruby On Rails,Postgresql,Database Migration,我是RubyonRails新手,所以我对Rails迁移有些困惑 我想在我的用户表中添加一个字段,根据rails文档,只有使用 rails generate migration add_field_name_to_table_name field_name: type 问题 如果不在rails中进行rails g迁移,是否可以向现有数据库表中添加字段?谢谢…更大的问题是你为什么需要这样做。我的意思是,无论什么让你认为你需要这样做都是错误的(假设你是rails的新用户,我对此很有信心)。这就像你
rails generate migration add_field_name_to_table_name field_name: type
问题
如果不在rails中进行rails g迁移,是否可以向现有数据库表中添加字段?谢谢…更大的问题是你为什么需要这样做。我的意思是,无论什么让你认为你需要这样做都是错误的(假设你是rails的新用户,我对此很有信心)。这就像你离开飞机时,没有理由徒步长途飞行一样 回答: 您可以通过以下方式实现:
- 手动登录Postgres,如
rails db
- 然后以SQL方式手动创建表
- 然后在
文件中手动添加具有正确列的表schema.rb
- 然后手动创建模型
railsdb:migrate
愉快的编码。是的,您可以打开DBMS(Postgres、MySQL等),然后运行SQL命令添加该字段。如果这样做,您将丢失Rails为您提供的所有数据库功能,例如,您不能再运行
Rails db:migrate
,因为该字段将丢失。因此,如果其他人加入您的团队,您必须为他们提供数据库的模式,以便他们拥有相同的东西。您还将丢失数据库版本控制等。因此,我建议您继续使用Rails迁移。感谢@fanta的解释