Ruby on rails Rails:我修改了我的迁移文件(很糟糕,我知道)
我最近开始使用Rails,并使用CLI创建了一些模型,这反过来又创建了一些迁移 在添加了所有列之后,我运行了Ruby on rails Rails:我修改了我的迁移文件(很糟糕,我知道),ruby-on-rails,rails-migrations,Ruby On Rails,Rails Migrations,我最近开始使用Rails,并使用CLI创建了一些模型,这反过来又创建了一些迁移 在添加了所有列之后,我运行了rakedb:migrate命令,然后意识到我忽略了关联 那么我做了什么? 我继续编辑迁移以包含这些键 我再次运行了rakedb:migrate,模式中没有任何更改 然后我运行了rakedb:reset,然后运行rakedb:setup 当这不起作用时,我删除了我的schema.rb(该死的东西不会得到更新!)并尝试了。当我意识到这不起作用时,我放弃了数据库,并终止了模式 现在我被一些手动
rakedb:migrate
命令,然后意识到我忽略了关联
那么我做了什么?
我继续编辑迁移以包含这些键
我再次运行了rakedb:migrate
,模式中没有任何更改
然后我运行了rakedb:reset
,然后运行rakedb:setup
当这不起作用时,我删除了我的schema.rb
(该死的东西不会得到更新!)并尝试了。当我意识到这不起作用时,我放弃了数据库,并终止了模式
现在我被一些手动修改的迁移所困扰,没有schema.rb,也没有数据库
如何获得修改后的迁移以生成模式,并更好地使用Rails
在开发中删除并重建数据库并不重要。我经常这样做,甚至为此我有一个耙子任务。链的3个命令是:
rake db:drop
rake db:create
rake db:migrate
# And a 4rth optional command to rebuild your test database
rake db:test:prepare
有了这个你应该很好
下次您需要在迁移后手动修改迁移,您应该通过以下方式进行处理:
rake数据库:回滚
编辑您的迁移
rakedb:migrate
遵循这些步骤会让你省去一些麻烦
奖金信息:
将迁移部署到生产服务器后,您无法手动修改它,因此必须编写另一个迁移来执行修改(添加列等)。在开发中,删除并重建数据库无关紧要。我经常这样做,甚至为此我有一个耙子任务。链的3个命令是:
rake db:drop
rake db:create
rake db:migrate
# And a 4rth optional command to rebuild your test database
rake db:test:prepare
有了这个你应该很好
下次您需要在迁移后手动修改迁移,您应该通过以下方式进行处理:
rake数据库:回滚
编辑您的迁移
rakedb:migrate
遵循这些步骤会让你省去一些麻烦
奖金信息:
将迁移部署到生产服务器后,您无法手动修改它,因此必须编写另一个迁移来执行修改(添加列等)