LetsShip
node-pg-migrate
LetsShip | node-pg-migrate | |
---|---|---|
5 | 4 | |
2 | 1,233 | |
- | 1.5% | |
0.0 | 9.4 | |
almost 3 years ago | about 20 hours ago | |
C# | TypeScript | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
LetsShip
-
.NET 6 is now in Ubuntu 22.04
I have two DigitalOcean sites on the same VPS just serving from kestrel behind an nginx reverse proxy and then one site on a Hetzner VPS where I was playing around with k3s.
For digitalocean I followed this post which is probably way out of date now https://www.hanselman.com/blog/publishing-an-aspnet-core-web...
For the k3s site the source is here https://github.com/EliotJones/LetsShip/blob/main/kubernetes/... though worth noting I have set up LetsEncrypt incorrectly but that's my lack of k3s understanding.
-
We need to have a talk about making life easier for newcomers to .NET
This - https://github.com/EliotJones/LetsShip - hopefully gets you some of the way, it uses VS on Windows for development but I can't imagine the experience in Rider or VS Code for Linux is too disimilar. Individual steps here https://github.com/EliotJones/LetsShip/tree/main/docs/posts
I need to complete the full guide at some point but the end result is an application deployed on Linux with both a web app and independently scalable crawling services with zero downtime deployments. Hosted site here: https://pricefalcon.me/
For a simpler deployment without k3s, this guide is the one I originally followed for my trends site and should still work for .NET 6. https://www.hanselman.com/blog/publishing-an-aspnet-core-web...
-
Synchronizing access to a pool of resources
One example here https://github.com/EliotJones/LetsShip/blob/main/src/PriceFalcon.JobRunner/Worker.cs#L111 where I have several agent applications each of which may start up to 5 jobs, a job can take a couple of minutes to execute and while running the same request twice isn't the end of the world I'd prefer to avoid it. I use FOR UPDATE when selecting to take an update lock on the row in postgres (similar functionality hopefully exists for your DB).
-
New Core MVC App with jQuery in 2021?
I just build out a new MVP site for the purposes of a tutorial with .NET 5 and jQuery with some slightly complex front-end requirements (an interactive iFrame that validates user selections server-side on click) and though it may need to move to an SPA if it got more complex for now jQuery is fine (though assuming IE support is not needed I could have probably just used raw JS instead). https://github.com/EliotJones/LetsShip
-
The Architecture of a One-Man SaaS
I've done a complete 180 on this too, I realised I was reacting from my default position of hostility to new concepts rather than an honest appraisal. I am writing it up at the moment but I've been working on a 1 person SAAS MVP tutorial [0] and though I've definitely misconfigured something having the ability to go from git push to deployed to production with 0 downtime inside of 5 minutes with no manual steps is such a nice flow, versus my previous attempts of SCP and faffing around with services.
[0]: https://github.com/EliotJones/LetsShip
node-pg-migrate
-
Fully featured Repository Pattern with Typescript and native PostgreSQL driver
Why PG? For the clarity of the article to a large circle of developers, the entire explanation will be built by PostgreSQL and PG package. And in a real project, the database schema will change over time, and in order to be able to perform migrations, we will use Node PG migrate.
-
New to PostgreSQL - Best way to use it?
b) How you will manage schema migrations: every time you change tables, columns, foreign keys, every time you create or modify stored procedures, and so on, you need to do this through a migration. Here I'm at loss to recommend anything specific, but if you went with Prisma, I would read their docs and use whatever they are recommending you (if they actually recommend something). If you want something more neutral but still in the node ecosystem, node-pg-migrate might be the winner here? I'm not sure.
-
Postgres: What is the development process?
You’ll probably want something like this too: https://github.com/salsita/node-pg-migrate
-
The Architecture of a One-Man SaaS
You can use any normal DB migration tool. For k8s, I put the app's readiness probe to false, run the migrations and then toggle the probe back to true.
Here are some migration libraries:
Go - https://github.com/golang-migrate/migrate
Node - https://github.com/salsita/node-pg-migrate
What are some alternatives?
prawn-stack - A pageview counter using the AWS free tier, Postgres, Node and React
sql-lint - An SQL linter
centos-stream
graphjin - GraphJin - Build NodeJS / GO APIs in 5 minutes not weeks
app-engine-cloud-run-
logpaste - A simple web service for storing text log files
diagrams - :art: Diagram as Code for prototyping cloud system architectures
litestream - Streaming replication for SQLite.
flan - A tasty tool that lets you save, load and share postgres snapshots with ease
source-build - A repository to track efforts to produce a source tarball of the .NET Core SDK and all its components
migrate - Database migrations. CLI and Golang library.