zero_downtime_migrations:使用ActiveRecord 3+和PostgreSQL进行零停机迁移

时间:2024-02-22 22:13:12
【文件属性】:

文件名称:zero_downtime_migrations:使用ActiveRecord 3+和PostgreSQL进行零停机迁移

文件大小:29KB

文件格式:ZIP

更新时间:2024-02-22 22:13:12

ruby rails activerecord postgres database

zero_downtime_migrations 使用ActiveRecord 3+和PostgreSQL进行零停机迁移。 在开发/测试时捕获有问题的迁移! 受这些类似项目的启发: 安装 只需将这个gem添加到项目Gemfile 。 gem "zero_downtime_migrations" 用法 当检测到潜在的数据库锁定迁移时,此gem将自动引发异常。 它检查常见的事情,例如: 添加具有默认值的列 添加非并行索引 在索引或架构迁移中混合数据更改 在禁用DDL事务的情况下执行数据或架构迁移 使用each而不是find_each循环通过ActiveRecord对象 这些异常清楚地说明了如何以“零停机时间方式”执行相同的操作。 验证方式 添加具有默认值的列 坏 这可能需要很长时间才能占用大量数据库或流量,并锁定您的表! class AddPublishedToPosts < ActiveRecord :: Migration def change add_column :posts , :published , :boolean , default : tru


【文件预览】:
zero_downtime_migrations-master
----bin()
--------rubocop(126B)
--------test(1KB)
----Dockerfile(57B)
----zero_downtime_migrations.gemspec(794B)
----LICENSE(1KB)
----Gemfile(120B)
----Gemfile.lock(3KB)
----.rspec(48B)
----docker-compose.yml(716B)
----spec()
--------zero_downtime_migrations()
--------internal()
--------zero_downtime_migrations_spec.rb(629B)
--------spec_helper.rb(534B)
----.ruby-version(6B)
----.gitignore(17B)
----lib()
--------zero_downtime_migrations()
--------zero_downtime_migrations.rb(1KB)
----README.md(8KB)
----.buildkite()
--------pipeline.yml(215B)

网友评论