Ruby on rails Rails:我修改了我的迁移文件(很糟糕,我知道)

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(该死的东西不会得到更新!)并尝试了。当我意识到这不起作用时,我放弃了数据库,并终止了模式 现在我被一些手动

我最近开始使用Rails,并使用CLI创建了一些模型,这反过来又创建了一些迁移

在添加了所有列之后,我运行了
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
  • 遵循这些步骤会让你省去一些麻烦


    奖金信息:

    将迁移部署到生产服务器后,您无法手动修改它,因此必须编写另一个迁移来执行修改(添加列等)