Database version control, made easy!

Related tags

Web Applications dbv
Overview

Database version control, made easy!

dbv.php is a database version control web application featuring schema management, revision scripts, and more!

Check out the project website for more details, features and documentation.

dbv.php

Comments
  • Multiple databases?

    Multiple databases?

    (Warning; thinking out loud...)

    It looks (after a cursory glance at the code) that it'd be a fair bit of work to enable a multi-database setup. I only have experience with MySQL, and cross-database queries aren't that much of a problem there, so keeping track of changes across databases isn't the biggest issue. It's mostly about how to display things (show everything in one big list? switch views depending on which database you're working on?) and making sure the adapter knows what to do.

    Thoughts? Is multi-DB support something that might be in the cards at all?

    opened by doenietzomoeilijk 7
  • Blank DBV.php in browser

    Blank DBV.php in browser

    After putting in the database settings in the config file, I open up DBV.php via wamp server "http://localhost/sitename/dbv-1.1/DBV.php" in Firefox 24.0 and it's blank. What am I doing wrong?

    opened by c0wb0y54mur41 6
  • What happens when two people are create folders with the same revision number

    What happens when two people are create folders with the same revision number

    I'm trying to decide if this is a good solution to use at the company I work for, so far it looks like a good solution, it's a tough problem to tackle.

    What happens when two people are create folders with the same revision number?

    Maybe add more examples on the flow.

    opened by patforg 5
  • Use .gitignore as placeholder in revisions

    Use .gitignore as placeholder in revisions

    Replace .gitkeep placeholder in data/revision directory with .gitignore that will ignore everything inside the revision dir, therefore Git user won't need to bother to ignore this folder anymore.

    opened by nazieb 5
  • Ignore DS_Store files

    Ignore DS_Store files

    Sadly when creating files OSX creates hidden .DS_Store by default. This breaks running revisions, the only fix is to delete the .DS_Store from the command line or enable view hidden files in finder and deleting it.

    opened by allistera 5
  • Suggested use on production environments

    Suggested use on production environments

    I don't see a command line interface, what is the recommended way to implement dbv in a production environment? Are you just using the HTTP password protection?

    opened by tomwoods 4
  • Moves the tracking of revisions to the DB instead of the filesystem

    Moves the tracking of revisions to the DB instead of the filesystem

    As discussed via email. It was actually a pretty straight-forward and fairly clean addition overall...

    Note --> I did NOT update the SQLite adapter however, although I suspect the MySQL adapter code probably will work in there as-is (haven't used SQLite in a while though TBH) but I didn't test it as that adapter was already not working off-the-shelf and I didn't want to combine the fix into this pull request. Let me know if you'd like to me to make it work for that adapter too, though, and I can do so pretty quickly / easily.

    LMK if any concerns or questions otherwise hopefully this will help others too! :-)

    From the commit message: Makes using version control & deploy management systems a lot easier. Also allows you to run revisions out of order if desired as they are now tracked individually instead of 'up to'. Implementation is in keeping with the DB adapter / interface paradigm. Only includes adapter code for MySQL however as the SQLite adapter is not currently implementing the interface properly [master branch as of now]; the MySQL adapter code likely would work as-is though.

    opened by ArthurD 3
  • Prototype ajax post not working in Chrome 24.0.1312.14

    Prototype ajax post not working in Chrome 24.0.1312.14

    The post global in php is empty when sending from here https://github.com/victorstanciu/dbv/blob/master/templates/schema.php#L68 .. to here https://github.com/victorstanciu/dbv/blob/master/DBV.php#L108

    I've come across this before in chrome where the headers that are sent in the ajax request are not lowercase.

    Changing these lines:

    https://github.com/victorstanciu/dbv/blob/master/public/scripts/prototype.js#L1556 https://github.com/victorstanciu/dbv/blob/master/public/scripts/prototype.js#L1607 https://github.com/victorstanciu/dbv/blob/master/public/scripts/prototype.js#L1728

    to lowercase content-type fixes the issue.

    opened by rwarasaurus 3
  • UTF8 support for MySQL PDO adapter

    UTF8 support for MySQL PDO adapter

    Hi, thanks for nice looking tool for versioning DB.

    I tried it and found problem with french/ukrain/czech diacritics, here is a fix which set connection to UTF8 mode.

    It would be great if you will improve this script to use with GIT (that mean change of format of revision to format which correspond with git hash). ;o)

    Sincerely, Hansek

    opened by hansek 3
  • dbv on Mac OS X 10.9.x

    dbv on Mac OS X 10.9.x

    Hi there,

    I didn't have too much luck installing the php extension dependencies for dbv (gettext and intl) on Mac OS X 10.9.5.

    Gettext seems to install OK as per this tutorial - http://idev.ge/installing-gettext-on-mac-osx-10-9 I followed the same process for the intl.so which seemed to go ok, however when trying to access dbv/index.php in browser the following error appears: Fatal error: Call to undefined function bind_textdomain_codeset() in /Path/to/dbv/config.php on line 54

    There seems to be little about this issue on the web, however some suggestions that the Mac OS X version of the internationalisation library doesn't have this method.

    My workaround so far is to change line 54 of config.php to: if (function_exists('bind_textdomain_codeset')) bind_textdomain_codeset(DEFAULT_DOMAIN, DEFAULT_ENCODING);

    Any other thoughts?

    Thanks

    Dan

    opened by september28 2
  • passwords do note work

    passwords do note work

    tried setting both to 'test' and 'test' and could not login using basic auth. On Fedora 20.

    Why not just pass through the database credentials like phpmyadmin does.

    if you know how to log in to the database, that becomes the same information needed to log in to the web too.

    opened by ftrotter 2
  • [Question] [Best Practices] How to store initialization data for tables

    [Question] [Best Practices] How to store initialization data for tables

    When I create a new database, I require some tables to have some data already (like list of user groups,..)

    What's the best place to store it. If I store it after the schema, I lose my work whenever I run "Push to disk" :/

    opened by VarunAgw 0
  • [Question] [Best Practices] Should I create a revision too when I create a new table

    [Question] [Best Practices] Should I create a revision too when I create a new table

    Hello, I cannot seem to find your contact address, so I am just asking here directly.

    If I have to create a new table as part of my work, should I also create a revision for it. I always include DROP table in revisions though

    Currently I usually ask other to import the schema and run revisions later.

    opened by VarunAgw 0
  • Suggestion for non-linear changes

    Suggestion for non-linear changes

    Love this project.

    It has a shortcoming in the situation I find myself in: We have several people working on their own local DBs, but not in a linear fashion. They are all working on their own branches and adding columns/tables as and when needed. With the current numerical approach to revisions it would be very difficult for them to not use the same revision number when adding a revision and also there is no way to keep track of "missed" revisions as it only works on numbers, so they can't just jump ahead a few numbers to make sure they don't collide.

    My proposal would be to allow the following: Remove the numeric requirement for revisions. Users create their revisions with a unique identifier that is highly unlikely to collide with another users revision on a different branch, so for example "2018-03-22_11-12_AddTreeHutCountToApiKeys"

    When it comes to revision application, the revision file in data/meta should contain the list of revisions that have already been applied locally, as opposed to just the latest revision number applied. That way revisions made by other users that get merged into a mainline branch could be applied later.

    Your thoughts?

    opened by feihtthief 0
  • css attempts to load google font over http

    css attempts to load google font over http

    Hi!

    My development VM is set up to use TLS, with forced redirects from plain HTTP to HTTPS as I'm trying to build/test in as close an environment to production as possible. One (incredibly minor) issue with this is that DBV attempts to load a Google font over plain HTTP which gets blocked in the browser.

    The culprit is line 2 in public/stylesheets/dbv.css:

    @import url(http://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,400,600&subset=latin,latin-ext);
    

    Can I please suggest that this URI gets changed to HTTPS, or at least to the protocol relative //fonts.googleapis.com/....

    Thanks!

    opened by smidgedy 1
  • Integration with dbdiff

    Integration with dbdiff

    Hello

    There is this command line php script that will take a source database and compare with a target database and produce sql script with UP / DOWN functionality for a revision. https://github.com/DBDiff/DBDiff

    I managed to put it in a composer style integration with DBV and with some small edits to DBV code one will be able to run either the generator for a version or up / down a new revision to target database.

    opened by crirus 2
  • How to configure sql server adapter?

    How to configure sql server adapter?

    Hi, i just want to know, what value i have to put in config.php if want to use DBLib adapter.

    My config is:

    define('DB_ADAPTER', 'DBLib');

    // but i get this message: [0] could not find driver

    Can you help me?

    opened by MemoRodMx 0
Releases(1.3)
Owner
Victor Stanciu
Victor Stanciu
Panel de Control para Dominios

Panel de Control para Gestión de Dominios Esta aplicación permite la gestión interna de dominios de una manera sencilla. Podrás dar de alta dominios p

Nitsnets Open Source 24 Dec 27, 2022
VMControl - Control your VirtualBox VMs from a web browser

VMControl - Control your VirtualBox VMs from a web browser Requirements Microsoft Windows XP or newer Oracle VM VirtualBox VBoxManage (included in Vir

null 1 Nov 6, 2021
Create and Control Page Redirects through Filament

Create and Control Page Redirects through Filament A Filament resource to create and maintain page redirects for your website. Installation You can in

James Harley 7 Nov 4, 2022
Instagram simple version.

.feed Getting started Clone project Go to the folder Install composer composer install Install npm package npm install Copy and edit .env file from .e

krido 4 Jan 22, 2022
A web application built with PHP incorporating DBMS concepts. - Version 2.0

ShopOnline - WebApp (Celebrating open-source ?? ) We're hosted at ShopOnline (We are currently facing some issues with registration/login, this will b

Sudhay 20 Dec 12, 2022
All in one ban system web (light version for all)

All in one - Ban system web (light version) All in one ban system web (light version for all) This database of players who violate or use third-party

Awesomium Team LLC 1 May 3, 2022
Server manager is a open source project made for people so that they can add the servers to one single place irrespective of their provider and manage it through one location.

Server Manager Are you sick of having to log into hundreads of different website just to access your server? Well we got you, Server manager is a open

null 8 Aug 9, 2022
LaraEstimate is a complete Dynamic Estimates/Quotes System made with Laravel 7 and VueJS.

LaraEstimate LaraEstimate is a complete Dynamic Estimates/Quotes System made with Laravel 7 and VueJS. The system has the following features: Allows t

Tiago S. P. Rodrigues 133 Dec 12, 2022
A blog made with Lumen Framework

A Lumen Blog Your first step towards mastering Lumen. Requirements Docker Installation and usage This is a template repository: don't work directly on

null 13 Nov 16, 2022
A dumb sharing site for photos and videos, made by me, using a bit of borrowed code.

ShitShare A dumb sharing site for photos and videos, made by me, using a bit of borrowed code. Information This was made on Windows, so when video upl

null 1 Dec 14, 2022
Twitter like application made with Laravel in 10 hours. Demo at

Critter, A Twitter like application written with Laravel in under 10 hours by @msurguy Imagine Twitter is down again. It's dark outside, and how can y

Maksim Surguy 58 Nov 30, 2022
This is a Reddit-like clone named Scroller, made for the project component of COSC 360 - Web Programming.

The COSC 360 Project Due Dates: See Milestone Dates Overview: The project is designed to help develop your skills for full stack development. With thi

null 3 Jun 30, 2022
Collection of CTF Web challenges I made

My CTF Web Challenges This is the repository of all CTF challenges I made, including the source code, write-up and idea explanation! Hope you like it

Orange Tsai 2.4k Jan 3, 2023
MenuCard - Employees can login with already made admin accounts

MenuCard Symfony 5.4.2 application Employees can login with already made admin accounts. Employees can manages create new accounts for new employees.

Lajili Med Dhia 1 Jan 20, 2022
This Toko Lego e-commerce application is made to meet the final semester exam.

This Toko Lego e-commerce application is made to meet the final semester exam. Created using laravel framework.

ilham alfath 5 Feb 1, 2022
Learning Management System made in vanilla PHP to learn core concepts and usage of some basic utils

Learning Management System Learning Management System made in vanilla PHP to learn core concepts and usage of some basic utils. Report Bug · Request F

TitansLab 1 Mar 30, 2022
Web app to share your favorite photos, made with laravel

Kuro Photos Web app to share your favorite photos, made with laravel. This web app was made for educationals purposes only. I enjoyed so much learning

Julian Salcedo Torres 4 Dec 29, 2022
🌶🥗🧀🍉 Brazilian Table of Food Composition made by IBGE - Laravel 9 REST API

About API of the 2008-2009 Family Budget Survey: tables of nutritional composition of foods consumed in Brazil / IBGE, Coordination of Work and Income

Mizael Clistion 4 Dec 27, 2022
A Real time chat app made in Next.js, Laravel and Ably.

Chat App with Next.js, Laravel and Ably This repository serves as a code container for the tutorial I wrote on Ably's Blog. Blog link will be updated

Ravgeet Dhillon 13 Dec 17, 2022