`
fsword
  • 浏览: 168175 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

数据备份和恢复代码,用于数据库迁移

 
阅读更多

apposs要从sqlite3迁移到mysql,支持所谓生产环境,所以写了段代码用于迁移数据,这种代码写过N遍了,所以决定放到博客上作为备忘,顺便展示一下ruby结合active record模式的方便

 

namespace :data do
  desc "backup all data"
  task :backup => :environment do
    Dir.mkdir "data" unless File.exist? "data"
    (ActiveRecord::Base.connection.tables - ["schema_migrations"]).each{|t|
      clazz = t.camelize.singularize
      File.open("data/#{clazz}.yml",'w') do |f| f.puts clazz.constantize.all.to_yaml end
    }
  end

  desc "restore all data"
  task :restore => :environment do
    require 'yaml'
    Dir['data/*'].each{|f|
      f =~ /\/(.+)\.yml/
      clazz = $1
      Object.send :remove_const, clazz rescue nil
      eval("class #{clazz} < ActiveRecord::Base; end")
      YAML.load(File.new(f)).each{|o|
        new_o = o.class.new(o.attributes)
        new_o.id = o.id
        new_o.save!
      }
    }
  end

end
 
0
0
分享到:
评论

相关推荐

    oracle向达梦数据库迁移

    在数据迁移完成后,需要重新创建在第三步中被临时删除的键、约束和索引,以恢复数据库的完整性和一致性。 七、表授权 迁移过程中必须考虑到权限和访问控制。在DM8中为新用户分配相应的对象权限,确保迁移后的功能与...

    VB分离附加备份恢复SQL数据库代码

    这些功能对于维护数据库的完整性和可用性至关重要,特别是在多环境部署、数据迁移和灾难恢复场景中。通过使用VB编写这样的代码,开发者可以创建强大的数据库管理工具,提高数据管理的效率和灵活性。然而,实现这些...

    C# ASP.NET 模块 - 数据库备份与恢复模块

    总的来说,C# ASP.NET 数据库备份与恢复模块是企业级应用程序不可或缺的部分,它涉及到了SQL Server和Access数据库的备份、恢复、分离和附加等多个方面。通过理解和掌握这些知识,开发者能够构建出更健壮、更安全的...

    C#带进度条数据库备份

    数据备份过程中,应确保数据的安全性,如使用加密备份、限制访问权限等。同时,备份策略应遵循企业安全政策,定期更换备份存储位置,防止单一故障点。 10. **测试和验证**: 完成备份后,验证备份文件的完整性至...

    数据库迁移工具

    综上所述,C#开发的数据库迁移工具涉及了SQLServer的各种操作,包括备份恢复、数据导入导出、脚本执行、对象比较、安全性管理等多个层面。通过熟练掌握这些技术,可以构建出高效、可靠的数据库迁移解决方案。在实际...

    Oracle数据库迁移指南.pdf

    例如,文档提到了使用exp/imp工具进行数据库迁移的命令示例,其中包含“ignore=y”参数用于忽略一些已存在的数据或对象。这表明文档会介绍如何在迁移时处理已存在数据的问题。 文档中还提到了Oracle数据库中的监听...

    oracle数据库备份恢复和svn备份恢复

    Oracle数据库是全球广泛使用的大型企业级数据库管理系统,而Subversion(SVN)则是一种流行的版本控制工具,用于跟踪和管理源代码和其他文件的变更。本文将深入探讨Oracle数据库的备份与恢复策略以及如何进行SVN的...

    基于Java开发的数据库迁移方法和系统设计.pdf

    在Java中,Spring框架的Data Migration模块可以用于数据库迁移任务,它提供了灵活的配置和执行策略,支持多种数据库供应商。此外,开源工具如Flyway和Liquibase也是Java开发中常用的数据迁移工具,它们可以集成到...

    navicat数据库管理工具管理数据库,执行查询、编辑数据、备份和恢复

    - 便于数据迁移和共享。 5. **备份和恢复数据库** - 提供了简单易用的备份和恢复功能,保护数据库免受数据丢失或损坏的影响。 - 用户可以选择备份整个数据库或部分表,并可以在必要时快速恢复数据。 6. **...

    C#实现数据库前台备份还原代码,只有备份和还原两个功能

    这两个功能在数据库管理中至关重要,因为它们允许在出现问题时恢复数据或者在迁移系统时保持数据一致性。 首先,我们需要了解SQL Server提供的API,如SQL Server Management Objects (SMO),它允许程序员在C#中与...

    JDBC实现MYSQL数据库迁徙

    在IT行业中,数据库迁移是一项常见的任务,特别是在系统升级、数据整合或者环境切换时。...同时,考虑到数据安全和一致性,迁移过程通常会在低峰时段进行,并且需要有良好的备份策略,以防万一出现问题可以快速恢复。

    MySql数据备份恢复

    总之,MySQL数据备份与恢复是数据库管理的重要环节,通过理解并熟练运用相关工具和策略,可以有效地保护数据安全,减少潜在的损失。同时,结合自动化脚本和监控机制,可以进一步提高备份恢复的效率和可靠性。

    mysql数据库数据迁移应用方案设计(附带源码)

    2. **数据备份与恢复策略**:在迁移前,对原有数据库进行完整备份,确保在迁移过程中出现错误时可以回滚。MySQL提供了mysqldump工具,可以生成SQL脚本来备份数据库。 3. **结构迁移**:根据需求分析的结果,设计新...

    备份本地的数据库到远程机上

    - `备份恢复.bat`和`backup.bat`可能是用批处理语言编写的,这种语言允许用户编写一系列命令行指令,批量执行数据库操作,如启动备份过程或恢复操作。 4. **文档说明**: - `使用说明.doc`提供了操作指南,解释了...

    php+mysql备份恢复代码

    标题“php+mysql备份恢复代码”所涵盖的知识点主要是PHP编程语言与MySQL数据库的结合,用于执行数据备份和恢复操作。这种功能对于防止数据丢失,进行系统迁移或日常维护来说都是必不可少的。PHP是一种广泛使用的...

    ASP.NET(C#)备份还原数据库

    在ASP.NET(C#)开发中,数据库的备份与还原是一项重要的功能,特别是在系统维护、更新或迁移时。本文将深入探讨如何使用C#语言在ASP.NET环境中实现这一过程。 首先,我们来理解备份数据库的基本概念。数据库备份是...

    行业分类-设备装置-一种从AIX平台向K-UX平台迁移的Oracle数据库迁移工具.zip

    总之,从AIX到K-UX的Oracle数据库迁移是一项复杂且细致的工作,涉及多个步骤和技术。这个工具包旨在帮助管理员简化这一过程,但理解和掌握背后的原理及最佳实践同样重要。在实际操作中,应遵循详细的迁移指南,并...

    oracle数据库通过NBU的异机恢复

    这通常是在数据库迁移、灾难恢复或测试环境中常见的场景。 ### 核心知识点详解 #### 1. 配置监听器(Listener) 监听器配置文件`listener.ora`位于`/database/oracle10g/network/admin/`目录下。监听器用于管理...

    行业分类-设备装置-一种从AIX平台向K-UX平台迁移的DB2数据库迁移工具.zip

    5. 工具选择:IBM提供了一些工具,如db2move、db2look和db2Unload,用于数据库迁移。此外,第三方工具可能更适合特定场景,例如利用ETL(提取、转换、加载)工具进行复杂的数据迁移。 6. 风险管理:迁移过程中可能...

    Java_Flyway由Redgate数据库迁移变得容易.zip

    综上所述,Java Flyway通过Redgate的加持,为开发者提供了一个强大且易用的数据库迁移解决方案,使得数据库的版本管理和维护变得更加规范和高效。无论是在小型项目还是大型企业级应用中,它都是值得信赖的数据库管理...

Global site tag (gtag.js) - Google Analytics