Hi, you can find the explanations here: https://strapi.io/documentation/developer-docs/latest/getting-started/troubleshooting.html#why-can-t-i-create-or-update-content-types-in-production-staging
> 0.25$ per gig of storage. But please don’t quote me on that.
That looks right, thanks. https://render.com/pricing
If we go with strapi on render.com, we might end up using a remote db at supabase or one of the other cloudy db providers with a generous free tier.
Hello. I also made this transition recently and it is a very effective way to have dynamic blocks with the strapi is to apply a model with dynamic zones, as well as the tutorial in the post on the strapi website Pages on the fly with dynamic zones
On mobile, so forgive the poor formatting.
So Strapi has core services and controllers. https://strapi.io/documentation/developer-docs/latest/development/backend-customization.html#controllers
These are used automatically when a new collection (Books, in your case) is created. You can override these services and controllers (and most anything else in Strapi) if your needs are more specific than what these core services offer. You override settings and functions by means of “extensions” and overrides in Strapi v3.
The folder you talked about for books has a particular structure to it. Overriding the controllers for books, for example, is in the api/books/controllers.js file
In short. Whenever there is a question about where to go/read for more information on Strapi, the answer will always include their always improving documentation.
Hope this helps.
I have the same problem. try this:
you must run the Strapi development version locally and push changes to git, so the production version pulls changes and restart itself. this is very messy I think compared to a simple CMS like WordPress. but It's OK. if you have the budget you can simply use DigitalOcean's app platform. or something else. But the workflows are the same in anyu platform. you work with Git. but configurations and maintenance are don't exist in something like app platforms.
Take a look at the Gatsby corporate starter. https://strapi.io/starters/strapi-starter-gatsby-corporate
There you have a collection type called Pages and it has a lot of dynamic zones available. Each dynamic zone is actually attached to a react component.
Thank you, both I and the team really appreciate hearing this.
There is certainly a great many people standing behind me, but I do try to (and sometimes fail to) be everywhere at once.
If you want to keep up to date on the v4 stuff, I recommend https://strapi.io/v4
u/eazieLife you're right, the size of the build is way too big.
That being, you're right, the size of the build is way too big.s gonna be drastically reduced in Strapi v4. Also, when going to production, please make sure you start your project in production mode by running "yarn build" (or "npm run strapi build") and then "NODE_ENV=production yarn start" (or "NODE_ENV=production npm start").
Disclaimer: I'm one of the creators of Strapi.
Hi! I had the same question and as far as I know it is not possible with the community edition. If your project is open source or you’re a student or something you can apply for a free Enterprise licence though: https://strapi.io/free-enterprise-edition Good luck!
Hey!
Just wanted to let you know that multi-language support is now available as the internationalization feature was released last week (available in v3.6)
https://strapi.io/blog/announcing-content-internationalization-v3-6
Hi there, it's ok to feel that you don't know a thing, than feel that you get it and back to the unknown again:) this is what I'm coming through in the past 8 years :) when I'm speaking with ppl that way more senior than me I'm hearing the same story:) I switched to frontend engineering from wp development in about a year ago and this tutorial changed my life https://strapi.io/blog/build-a-blog-with-vue-strapi-and-apollo I defenetly suggest you to start from vue because it's much more intuitive than react and vue's documentation is awesome! When you will feel a bit more confident with basic I suggest to add Vuex (vues state menager) to the story and just filter the data from there,and separate the business logic from UI)
Best wishes!
Thanks for pointing this out, it's a common gotcha. Strapi briefly mentions it on their docs
Also, for the same reason, you can't use a local SQLite database with Heroku
Try this
Override controller's create function
```
const { parseMultipartData, sanitizeEntity } = require('strapi-utils');
module.exports = {
/**
* Create a record.
*
* u/return {Object}
*/
async create(ctx) {
let entity;
if (ctx.is('multipart')) {
const { data, files } = parseMultipartData(ctx);
if(...your logic){
ctx.throw(400, "This title exists");
}
entity = await strapi.services.restaurant.create(data, { files });
} else {
if(...your logic){
ctx.throw(400, "This title exists");
}
entity = await strapi.services.restaurant.create(ctx.request.body);
}
return sanitizeEntity(entity, { model: strapi.models.restaurant });
},
};
```
What database are you using? Unique is one of the validations frustratingly only supported on MongoDB. https://strapi.io/documentation/developer-docs/latest/development/backend-customization.html#models
Well what do you mean "when account is upgraded"? Is it some built in logic from strapi or something else you added?
Each model has lifecycle hooks you can tap into. So one possibility is tapping into the beforeUpdate or afterUpdate hooks.
The "account upgrade" should trigger an update on the model and this is where you can add additional business logic to change the user role.
Take a look at the example here https://strapi.io/documentation/developer-docs/latest/concepts/models.html#example-10
Where they are hashing a password on the user before it's created in the db
All the strapi UI does is write out things to files. That's why you can't make changes in production and why in dev, it restarts after you make the changes.
When you add a field to a model, it will write new code to a JavaScript file in the directory and then reload the server with the new code.
This means that all the setup and files are easily editable and fully transparent.
https://strapi.io/documentation/developer-docs/latest/concepts/file-structure.html
The user object will have a user model where you can manage it's lifecycle. It will also have a settings file that defines the properties and their type.
Many parts of the roles and creations can be modified with plugin extensions. New ones that add extra functionality or overriding their built in ones to modify or add functionality.
https://strapi.io/documentation/developer-docs/latest/concepts/customization.html#plugin-extensions
Between routes, policies, controllers, models, services, extensions, middlewares & plugins, you can pretty much customize any part you want.
If anything, the only tricky part to actually customize is the Admin UI
Hello! Sorry for late response.
But on my work, we have a NGIX local server that runs our intranet and some others services...
Never done anything using ngix or something like that....
So I'll need to correct ppl to do this step? https://strapi.io/documentation/developer-docs/latest/deployment/nginx-proxy.html#nginx-upstream
I figured out my problem. It had to do with the build and project versions not being the same. Basically follow these steps: https://strapi.io/documentation/3.0.0-beta.x/guides/update-version.html#upgrading-your-dependencies
You can find a list of all the published upload providers in npm
Sadly there is no provider for next.js, but in the strapi docs (haven't read it though) they shows you how to implement (or at least where) your custom upload provider
EDIT:
you may need to add some api endpoints to your next.js back-end so you can send the images there
Aka you want to know how to keep the db credentials out of your git rep right?
If so there are a few popular ways to do it but the way strapi recently supports is using a .env file with your creds listed in it and you list this file in your .gitignore file so its not added to your source control. Then in your config files you can reference what is in your .env file. This page explains how to do that:
https://strapi.io/documentation/v3.x/concepts/configurations.html#formats
sorry if there is anything weird above, I did this on my phone...
r u able to do this? You’ve to copy that folder and put into the extension folder. That’s how strapi works. Please check how to do the customisation: https://strapi.io/documentation/v3.x/concepts/customization.html. If u need any help, I can help u.
I don't think it handles the migration, however it modifies your scheme automatically, but these are two different things. This means, if you add a new column for example it should be OK, but if you modify a column which contains data, the scheme modification can cause problematic side effects. For example if you modify the type of a column from string to number. It's a better approach to add a new column, and copy the values from the old one to the new, and convert it if necessary.
Only you can handle these type of modifications, and you should, unless you may end with a corrupt database. You can do that by writing a DB script, or you can use the bootstrap function to write migration codes: https://strapi.io/documentation/3.0.0-beta.x/concepts/configurations.html#bootstrap
Or even like this, not sure if this will work for me:
If you want to start Strapi using a `server.js` file - check this guide https://strapi.io/documentation/3.0.0-beta.x/guides/process-manager.html#starting-with-server-js-file
Hello! Did you check this article - https://strapi.io/blog/building-a-static-website-using-gatsby-and-strapi#12webhookswithgatsbystrapi
There is some things to help you to rebuild your app on content update.
Hello. I am the Dev Advocate for Strapi. And no, you wouldn't also use Hasura alongside Strapi. Strapi has it's own implementation of graphQL which you can install and use through a plugin. https://strapi.io/documentation/3.x.x/guides/graphql.html - to read more about it. What is your project about?