酷徒LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:数据  版本  
Versioning of changes to database

  • 源代码名称:Versioning
  • 源代码网址:http://www.github.com/depesz/Versioning
  • Versioning源代码文档
  • Versioning源代码下载
  • Git URL:
    git://www.github.com/depesz/Versioning.git
  • Git Clone代码到本地:
    git clone http://www.github.com/depesz/Versioning
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/depesz/Versioning
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
  • 电子邮件名称

    版本 - simplistic对跟踪和对数据库应用更改的简单考虑。

    描述

    这里项目力求提供简单的方式来管理对数据库的更改。

    在开发和开发之间发现差异,决定哪些应该安装在生产中,从而开始编写差异。

    安装

    要安装版本控制只在数据库中运行 install.versioning.sql ( 所有这些都是: 生产。阶段。测试。开发。)。

    用法

    如果要在数据库中使用补丁,请将整个逻辑放入单个事务中,并使用 _v。* 函数- 通常是 _v.register_patch(),以确保一切都能正常运行。

    例如假设你有补丁文件:

    000 -base.sql:

    
    create table users (id serial primary key, username text);
    
    
    
    

    001 -users.sql:

    
    insert into users (username) values ('depesz');
    
    
    
    

    要更改它使用版本控制,你可以更改文件,为此状态:

    000 -base.sql:

    
    BEGIN;
    
    
    select _v.register_patch('000-base', NULL, NULL);
    
    
    create table users (id serial primary key, username text);
    
    
    COMMIT;
    
    
    
    

    001 -users.sql:

    
    BEGIN;
    
    
    select _v.register_patch('001-users', ARRAY['000-base'], NULL);
    
    
    insert into users (username) values ('depesz');
    
    
    COMMIT;
    
    
    
    

    这将确保补丁 001-users 只能在 000 -base之后应用。

    可用函数

    _v.register_patch( TEXT )

    寄存器名,如果已经注册,则为 die。

    返回 _v.patches 表中补丁的整数,只有当它成功时才返回。

    _v.register_patch( TEXT, TEXT [] )

    _v.register_patch( TEXT ), 相同,但检查是所有的补丁( 作为第二个参数中的array ) 已经注册。

    _v.register_patch( TEXT, TEXT [], TEXT [] )

    _v.register_patch( TEXT, TEXT [] ), 相同,但也检查是否与已经存在的修补程序存在冲突。

    第三个参数是与当前冲突冲突的修补程序名称的array。 如果其中任何一个安装了- register_patch将会出错。

    _v.unregister_patch( TEXT )

    从版本控制数据中删除有关给定修补程序的信息。

    它不会移除这里修补程序创建的对象- 只是删除元信息。

    _v.assert_user_is_superuser( )

    确保当前补丁程序正在由超级用户加载。

    如果它不是- 它会引发异常,并中断事务。

    _v.assert_user_is_not_superuser( )

    确保当前修补程序未被超级用户加载。

    如果它是- 它会引发异常,并中断事务。

    _v。assert_user_is_one_of ( 文本,文本。 )

    确保当前补丁程序正在由列出的某个用户加载。

    如果 current_user 未作为参数之一列出- 函数将引发异常并中断事务。

    支持

    如果你想建议新功能或者询问任何内容,请使用来自 https://depesz.com/的联系信息。



    文章标签:数据  版本  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备17041772号-2  |  如果智培  |  酷兔英语  |  帮酷