Sometimes, we need to develop some projects with different Odoo version. So we need to make sure that the project’s dependencies will not interfere with the dependencies of other projects that can be running a different version of Odoo or will use different third-party add-on modules, which need different versions of Python dependencies.
Keeping track of your application’s database is not an easy task. Database schemas tend to mismatch in different environments, data in one of the databases may miss some crucial piece of data. Such occasions can be irritating, especially when caught in production.
The situation gets worse when the project is developed base on the microservice pattern. In this case, each of your services has its own database instance whose structure may differ from others’. So keeping track of your service’s databases can become a nightmare (See 6 Reasons to Version Control Your Database). Therefore it is useful if we can use database version control in the project.
In the previous article, I have introduced Building AWS Serverless applications with NX Dev Tools on a monorepo and the advances of Monorepo. In this article, I will step by step to apply Liquibase (database version control) to AWS Serveless application.
In this port, I’ll be guiding you on how to build an API with AWS Lambda and API Gateway to paginate data using the Serverless framework.
- AWS Lambda for running code without provisioning or managing servers. You can utilize free-tier to run your service with zero cost.
- AWS API Gateway to create, publish, and secure Rest APIs.
- Serverless framework to build and deploy your backend services on the cloud, you can build and deploy a serverless function in minutes.
A monorepo can be described as a repository that contains more than one logical project. These projects can be unrelated, loosely coupled or connected by dependency management tools, they are usually large in size, branches, commits, and working developers.
Serverless computing such as AWS Serverless offers a number of advantages over traditional cloud-based or server-centric infrastructure. For many developers, serverless architectures offer greater scalability, more flexibility, and quicker time to release, all at a reduced cost. With serverless architectures, developers do not need to worry about purchasing, provisioning, and managing backend servers.