Focus on the model instead of getting bogged down with the details

Savvior

Savvior Technology Solutions

Web developement company
Pittsburgh, Pensylvanya, USA
www.savvior.com

Savvior Technology Solutions is web development company focusing on application development through superior design, marketing, and ahead-of-the-curve thinking.


Problem: Huge hassle with editing YML files manually

Savvior adapted Doctrine 2 at work as their ORM platform. However, it was cumbersome for the development team to maintain decent version control of the database and editing YML files manually was a huge hassle and time sink.

MySQL was a solution that was working well with MySQL workbench. But with SQL Server, the YML and database had to be changed manually every time. Savvior started searching for something that would help them generate YML files from SQL Server 2008 R2 database.


Solution: Definition files generated by Skipper

Nicholas LaDieu, CTO of the company says: "When we saw Skipper we knew this was a better solution." So Savvior implemented it to its common workflow and now the developers use Skipper every day.

Nick LaDieu

"We work with Skipper every day. Our current workflow would not be possible without such a tool."

Nicholas LaDieu, Savvior


The Savvior's developers create in Skipper areas of functionality, modules, and export them to different XML files. All of these updates work seamlessly with the version control system for automatic merging and updating of changes to and from the model.

Afterwards, the model is exported to YML. A custom PHP script then takes the changes in the model and updates SQL Server 2008 R2 database to keep everything in sync. This process has allowed Savvior to have many developers contributing to this project without having to learn YML or understand the inner workings of that layer.


Benefits of using

Benefit #1: All attributes are stored in the model

The visual interface of Skipper is greatly appreciated by Savvior development team. Thanks to it developers can actually use the model to store many additional attributes than they were previously. Earlier the model was generated from the database, but now with Skipper they edit only the model and the database is abstracted properly.


"We use the model to store many more additional attributes than before. With Skipper the model is the only thing we edit."


Benefit #2: Time saving

Nicholas can't say how much work and time does Skipper save to all developers of Savvior. But he realizes that current workflow of the company would not be possible without such a tool. In general, he would say it saves quite a bit of time, especially when using SQL Server.

Benefit #3: Swift support

What Savvior developers like on Skipper is that the requests for support are answered promptly. Features needed to make their project a success have been added. When Savvior started using Skipper, custom attributes added to associations were not properly exported to YML. Developers requested this bug to be fixed and it was fixed and released. "We really appreciate this and it is not common to have that level of attention when purchasing software at this price point," says Nicholas.


"We really appreciate the support. It is not common to have that level of attention when purchasing software at this price point."


Benefit #4: Low learning curve for new developers

Another great benefit that helps Savvior is low learning curve for new developers on the project. This allowed them to employ Junior programmers without much training.

Projects developed in Skipper

The company has one large Skipper project deployed which is a custom software solution. It is a commerical project management tool for a large corporation, which manages multi-million dollar deployments using software created by Savvior.


"We plan to use Skipper for all future projects and existing projects where the code is built on a normalized database. With Skipper we can easily work with any MVC framework"


Savvior has also several smaller projects which have been retrofitted to use Skipper. Also, the company built an enterprise reporting tool that creates database reports using a Doctrine 2 model and Skipper is being used to set up these deployments.

Common project workflow in Skipper

At Savvior, each developer has his own installation of Skipper. The configuration file for Skipper is in their version control repository so any developer can add custom fields to the model.

Common project workflow consists of these steps:

  1. Updating model from version control to pull in the latest changes.
  2. Making changes to the model (adding fields, associations, attributes).
  3. Export of the changes to YML using Skipper.
  4. Running of a Command line php script:
    • The script generates an SQL script to bring the database in sync with the Skipper model.
    • The script adds or updates the Laravel Models which are Doctrine 2 classes. It also removes any models that are no longer present. Savvior generates the base model in a "Generated" folder. After that, they use the inheritence to extend the model with custom functions.
    ladieu-filetree
  5. Running the SQL script on the development database to bring it in sync with the model.
  6. Testing and committing changes to version control.
  7. Using of "Red Gate" SQL syncing tool to sync database changes out to the test site.
  8. Updating the test site version control to pull in the latest changes.

The company focuses on:

  • ERP enterprise solutions
  • Web application development
  • Mobile application development
  • Content management

Using ORM frameworks:

doctrine2logo

Using MVC frameworks:

symfonylogo


Download 14-day trial version

Try Skipper for free. No credit card needed.