Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
191 commits
Select commit Hold shift + click to select a range
d6ab945
Update core store migration (#801)
pwizla Apr 12, 2022
9a32465
Merge branch 'main' into next
pwizla Apr 12, 2022
8ce5149
Typescript documentation (#835)
stb13579 Apr 15, 2022
4426e88
add ts config to services
stb13579 Apr 26, 2022
8c525c9
Add callout for alpha/beta migration scripts
pwizla May 5, 2022
f7edbb7
Revert "Add callout for alpha/beta migration scripts"
pwizla May 5, 2022
89ee8e5
Add callout for alpha/beta migration scripts (#878)
pwizla May 5, 2022
b35f96b
Typescript phase 2 (#864)
stb13579 May 11, 2022
91c5105
Force node
pwizla May 11, 2022
0b96443
update TypeScript dedicated page (#898)
stb13579 Jun 1, 2022
b5210ec
Merge branch 'main' into next
pwizla Jun 15, 2022
57696ee
Merge branch 'next' of github.com:strapi/documentation into next
pwizla Jun 15, 2022
23b7b13
Release 4.3.0-beta (#934)
pwizla Jun 15, 2022
0d0c8da
Re-add missing --typescript flag in CLI install. guide
pwizla Jun 15, 2022
031e07b
Add link to TypeScript development docs to CLI installation docs
pwizla Jun 15, 2022
cae479a
Add missing word 😅
pwizla Jun 15, 2022
2647e7a
Use production logo
pwizla Jul 25, 2022
d7b496b
Merge branch 'main' into next
pwizla Jul 25, 2022
d9f2553
Restore beta logo
pwizla Jul 26, 2022
f069fc7
typescript programmatic use (#980) (#1010)
pwizla Jul 26, 2022
680d2b9
Mention folders in CM (#1009)
pwizla Jul 26, 2022
2ab2378
Keep official (not beta) logo
pwizla Jul 26, 2022
9163f49
Add missing comma
pwizla Jul 26, 2022
a68c2a3
Update TS (migration) callout title
pwizla Jul 26, 2022
11bfae4
Reword TS callout
pwizla Jul 26, 2022
c70d932
Merge branch 'main' into next
pwizla Jul 28, 2022
a90fc31
Merge branch 'main' into next
pwizla Aug 2, 2022
e57c7de
Bump version number (alpha)
pwizla Aug 2, 2022
09aa8c5
Merge branch 'user/custom-fields' into repo/custom-fields
pwizla Aug 2, 2022
2da106b
Merge branch 'main' into repo/custom-fields
pwizla Aug 9, 2022
f31ff99
Merge branch 'main' into next
pwizla Aug 9, 2022
923db78
Merge branch 'next' into repo/custom-fields
pwizla Aug 9, 2022
0f58e21
Fix code block ending
pwizla Aug 16, 2022
caf3217
Merge branch 'main' into next
pwizla Aug 18, 2022
a685f89
Mention that Global settings > API tokens is accessible only w/ permi…
pwizla Aug 18, 2022
5ab2083
Add API Tokens permissions to U&P table
pwizla Aug 18, 2022
dafefe8
Update procedure to create an API token for API tokens v2
pwizla Aug 18, 2022
89821a2
Properly format table + fix wording
pwizla Aug 18, 2022
c902142
Merge branch 'main' into next
pwizla Aug 24, 2022
d19d21f
Merge branch 'next' into repo/custom-fields
pwizla Aug 24, 2022
5be14dc
Custom Fields - User Guide: All updates (#1039)
pwizla Aug 24, 2022
b168d11
Custom Fields - Dev docs: All updates (#1036)
pwizla Aug 24, 2022
5999f32
Remove multimarkdown plugin
pwizla Aug 24, 2022
544cfe9
Remove markdown-it dependency
pwizla Aug 24, 2022
b1fa6ce
Fix broken link
pwizla Aug 24, 2022
97ed4b6
Add tip about publishing a plugin on npm
pwizla Aug 24, 2022
d9d698c
Restore beta logo
pwizla Aug 25, 2022
1d6c43b
Revert #1071
pwizla Aug 25, 2022
497f3a7
Merge branch 'dev/hotfix-populate-true' into next
pwizla Aug 25, 2022
92e0ca6
Update new top navbar links
pwizla Aug 25, 2022
afcf7be
Implement simple rebranding on docs-next (#1079)
pwizla Aug 25, 2022
c9d32f8
Flatten APIs structure in TOC
pwizla Aug 25, 2022
4bfb33e
Update version number
pwizla Aug 25, 2022
bf8b71c
Fix custom fields conflict
pwizla Aug 25, 2022
7f276a8
Update pre-release tip
pwizla Aug 25, 2022
10ccd2f
Merge branch 'repo/custom-fields' into next
pwizla Aug 25, 2022
f3d1f89
Fix callout type
pwizla Aug 25, 2022
bd68781
fix: typo in code sample (#1084)
iquirino Aug 26, 2022
035ac1a
Fix usage of "allow"
pwizla Aug 26, 2022
8164e6e
fix file path
stb13579 Aug 31, 2022
4b73c39
Merge pull request #1098 from strapi/dev/custom-fields-fix
stb13579 Aug 31, 2022
ff0621c
update API token screenshot
stb13579 Sep 5, 2022
8043a9e
Remove outdated content + update button name
stb13579 Sep 5, 2022
1f3d5f8
Add regenerate API token section
stb13579 Sep 5, 2022
eb382d2
update text for new user interface
stb13579 Sep 5, 2022
38d5484
update text to match UI
stb13579 Sep 6, 2022
d913ca4
reword for clarity and specificity
stb13579 Sep 6, 2022
200aa15
update screenshots
stb13579 Sep 6, 2022
b7d04aa
updated text
stb13579 Sep 6, 2022
66cdb62
fix caps and move screenshot
stb13579 Sep 6, 2022
1a09171
Merge pull request #1109 from strapi/user/api-tokens-v2-updates-shaun
stb13579 Sep 7, 2022
7f9ffbf
Update node support to 18
alexandrebodin Sep 8, 2022
f4dccf3
add manual installation sqlite
quiloos39 Sep 8, 2022
4975cdd
chore: fix typos
kuizuo Sep 9, 2022
2a96c6e
Merge pull request #1120 from kuizuo/patch-1
stb13579 Sep 9, 2022
3df4f36
Merge pull request #1117 from strapi/chore/node-18
stb13579 Sep 9, 2022
8f43632
Update Azure db connection to v4 (#1119)
stb13579 Sep 9, 2022
3c91cc0
Merge remote-tracking branch 'origin/next' into user/api-tokens-v2-up…
stb13579 Sep 9, 2022
6523d60
Merge pull request #1068 from strapi/user/api-tokens-v2-updates
stb13579 Sep 9, 2022
368ff43
Revert "Merge pull request #1068 from strapi/user/api-tokens-v2-updates"
stb13579 Sep 9, 2022
4204d8f
Rework entire history on API Tokens v2 PR (#1122)
derrickmehaffy Sep 9, 2022
804c69a
Fix variable name
o0th Sep 10, 2022
6438125
Merge pull request #1123 from o0th/patch-1
stb13579 Sep 12, 2022
5a74799
Deployment guides cleanup (#1116)
gpene Sep 12, 2022
0f6ad03
Remove path from .env
pwizla Sep 13, 2022
e66c414
Change @custom-fields to @beta (#1135)
markkaylor Sep 16, 2022
65773df
Update amazon-aws.md
mauicode26 Sep 18, 2022
6d20cc4
update db config for v4
stb13579 Sep 19, 2022
6e0fdb4
Revert "update db config for v4"
stb13579 Sep 19, 2022
d5b24f6
update db config for v4
stb13579 Sep 19, 2022
ec8ab1c
Merge pull request #1136 from muzucode/patch-2
stb13579 Sep 19, 2022
d1d49f8
Update docs/developer-docs/latest/setup-deployment-guides/configurati…
quiloos39 Sep 20, 2022
0f0a6ca
Update docs/developer-docs/latest/setup-deployment-guides/configurati…
quiloos39 Sep 20, 2022
696acc4
change bracket alignment
stb13579 Sep 20, 2022
29b2e13
add callout for thumbnail loading
stb13579 Sep 20, 2022
6588c66
change tableName to collectionName (#1141)
laurenskling Sep 20, 2022
fda638b
Fix kind and collectionName docs (#1140)
laurenskling Sep 20, 2022
b93f68f
Merge pull request #1138 from strapi/dev/do-droplet-db-fix
stb13579 Sep 20, 2022
bec5062
Clarify steps for plugin creation (#1114)
stb13579 Sep 20, 2022
1901420
Add documentation for the request context feature (#1134)
alexandrebodin Sep 20, 2022
f133aca
Mention node 16 as most recommended
pwizla Sep 20, 2022
474ea14
add graphql plugin config to ts example similar to js
tpimh Sep 21, 2022
d9bd8c6
Merge pull request #1118 from quiloos39/main
stb13579 Sep 21, 2022
9a529bb
Bump version number to 4.3.9
pwizla Sep 21, 2022
f05b8d7
Sqlite update (#1147)
stb13579 Sep 21, 2022
4464676
Bump dependencies version
biko8 Sep 21, 2022
4c15b5b
Remove callout re: unstable (#1153)
gpene Sep 22, 2022
534f77e
Rebranding: Moved search bar (#1154)
pwizla Sep 22, 2022
bc0fc09
add migration guide
stb13579 Sep 22, 2022
1c84917
add guide
stb13579 Sep 22, 2022
a3e3244
update naming convention
stb13579 Sep 22, 2022
6d07e87
update procedure and code examples
stb13579 Sep 22, 2022
6a07d17
fix punctuation
stb13579 Sep 22, 2022
536f0ba
update for TypeScript only
stb13579 Sep 22, 2022
c023da9
Revert "Rebranding: Moved search bar (#1154)"
pwizla Sep 23, 2022
8308a4f
Updated Heroku deployment documentation (#991)
levipettersen Sep 23, 2022
588728b
Update admin-customization.md for plugin translation (#1100)
MorganeLeCaignec Sep 23, 2022
89f8868
Installing hotjar (#1061)
Aurelsicoko Sep 23, 2022
856e8d1
cleanup language
stb13579 Sep 23, 2022
5943781
add regenerate and sync the labels with the UI
stb13579 Sep 23, 2022
5e7e350
Add callout for read-only API tokens
stb13579 Sep 23, 2022
bb5ddf2
Windows Desktop Recommended Version Correction
vivekout Sep 23, 2022
1a7dcec
Update docs/developer-docs/latest/update-migration-guides/update-vers…
biko8 Sep 24, 2022
08eea96
Update docs/developer-docs/latest/update-migration-guides/update-vers…
biko8 Sep 24, 2022
22542b9
Update docs/developer-docs/latest/update-migration-guides/update-vers…
biko8 Sep 24, 2022
f8f98a9
fix: typos fixed
Shubhdeep12 Sep 24, 2022
d2943c8
fixed typos
Shubhdeep12 Sep 24, 2022
2494005
Merge pull request #1162 from Shubhdeep12/user/fixed-typos
stb13579 Sep 26, 2022
80bb6d6
Merge pull request #1161 from Shubhdeep12/dev/fixed-typos
stb13579 Sep 26, 2022
f891057
Merge pull request #1160 from vivekout/patch-1
stb13579 Sep 26, 2022
ac7c9fd
Merge pull request #1158 from strapi/user/api-token-v2-rbac
stb13579 Sep 26, 2022
30287aa
Merge pull request #1159 from strapi/dev/api-token-read-only
stb13579 Sep 26, 2022
81c4eea
Merge pull request #1149 from biko8/patch-1
stb13579 Sep 26, 2022
f1e95e5
update the video demo link for v4
jizusun Sep 26, 2022
52c3054
Update introduction.md
jizusun Sep 26, 2022
20bd825
Merge pull request #1157 from strapi/dev/v4.2.x-migration-update
stb13579 Sep 26, 2022
a5f773b
Merge pull request #1163 from jizusun/patch-1
stb13579 Sep 26, 2022
d36c0a1
Merge pull request #1145 from itsemast/appolo-server-ts-fix
stb13579 Sep 26, 2022
318b284
Missing environmet variables added for pm2. (#1164)
habil Sep 26, 2022
e45fc27
Merge branch 'main' into next
pwizla Sep 26, 2022
6bd6f7f
Update link to ColorPicker input
pwizla Sep 26, 2022
9a9dffd
Merge branch 'production'
pwizla Sep 26, 2022
5b28b0b
Revert "Merge branch 'production'"
pwizla Sep 26, 2022
805b0f1
Merge pull request #1142 from strapi/dev/gcp-thumbnail-fix
stb13579 Sep 27, 2022
efa5bf5
update guide name
stb13579 Sep 27, 2022
205e1ea
fix header meta content
stb13579 Sep 27, 2022
ba36c4c
Merge pull request #1155 from strapi/dev/migrate-4.3.7+
stb13579 Sep 27, 2022
5d5c25f
Merge branch 'next'
pwizla Sep 27, 2022
523d93e
Fix logo
pwizla Sep 27, 2022
361d42d
Clean up custom fields page
pwizla Sep 27, 2022
977c132
Fix code-blocks (empty blank lines) in TypeScript documentation
pwizla Sep 27, 2022
3f5cb75
Fix pre-release doc. link (docs-next) in top nav bar
pwizla Sep 27, 2022
2257fd5
Clean up branding.styl
pwizla Sep 27, 2022
d547c04
Clean up comments in REST API population
pwizla Sep 27, 2022
dcaf7f2
Clean up comments from "Installing plugins via Marketplace"
pwizla Sep 27, 2022
4359d57
Revert unwanted wording change in "Installing plugins via Marketplace"
pwizla Sep 27, 2022
c8815b0
Remove outdated TODO in "Installing plugins via Marketplace"
pwizla Sep 27, 2022
8653a6a
Fix link to Roadmap (#1168)
mikehaertl Sep 28, 2022
f054dbb
Merge branch 'production'
pwizla Sep 28, 2022
f6ce46b
Fix logo and nav
pwizla Sep 28, 2022
17b2788
Temporarily revert back to old logo
pwizla Sep 28, 2022
f28de47
Merge branch 'main' of github.com:strapi/documentation
pwizla Sep 28, 2022
54a7f16
Update link to ColorPicker input (again) (#1171)
romash1408 Sep 29, 2022
948942f
Fix Query engine link
hayelomt Sep 30, 2022
96fc3a3
Merge pull request #1179 from titanht/patch-1
stb13579 Sep 30, 2022
6a3405f
Update the Code of Conduct
paulaxisabel Oct 3, 2022
a61a7f8
Update Code of Conduct
paulaxisabel Oct 3, 2022
a30adc0
fix upload code example
stb13579 Oct 3, 2022
8bf68a5
Merge pull request #1185 from strapi/dev/upload-fix
stb13579 Oct 4, 2022
28893ff
Move search bar to the the left and fix its behavior (#1187)
pwizla Oct 4, 2022
de9382e
Merge branch 'main' into next
pwizla Oct 4, 2022
2f1d38d
Fix logo and nav
pwizla Oct 4, 2022
05ee060
fix TypeScript code errors
stb13579 Oct 4, 2022
cacfaf7
Merge pull request #1189 from strapi/dev/sso-fix
stb13579 Oct 4, 2022
6823684
add github token callout (#1180)
stb13579 Oct 5, 2022
8410d73
Revise contributing.md (#1143)
stb13579 Oct 5, 2022
11a413d
fix 4.4.1 version (#1176)
7dir Oct 5, 2022
d5d5b2c
Update heroku.md (#1075)
arshi-mustafa786 Oct 5, 2022
3cac643
Docker documentation for v4 (#1144)
derrickmehaffy Oct 5, 2022
7d8928a
Add: Custom block section about cloud waitlist (#1192)
Mcastres Oct 5, 2022
5a14303
Merge branch 'production'
pwizla Oct 5, 2022
7641183
sync db table
stb13579 Oct 5, 2022
287dd67
Update package.json
pwizla Oct 5, 2022
43b329b
Merge pull request #1194 from strapi/dev/cli-db-table
stb13579 Oct 5, 2022
5dbb57b
Add: utm_source & campaign in the waitlist cloud link (#1195)
Mcastres Oct 5, 2022
a8d6de5
Merge branch 'production' into main
pwizla Oct 5, 2022
50e4567
Merge pull request #1182 from paulaxisabel/update-coc
stb13579 Oct 6, 2022
353c23a
add page Database migrations (#889)
petersg83 Oct 6, 2022
13683f2
Remove unnecessary closing syntax in services docs
pwizla Oct 7, 2022
e2d5ade
Fix typo in troubleshooting.md (#1200)
amincheloh Oct 7, 2022
bb3c2a6
Update nav-links class to prevent overlap on mobile (#1205)
Oct 10, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 59 additions & 22 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,82 @@

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:
Examples of behavior that contributes to a positive environment for our community include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
- Focusing on what is best not just for us as individuals, but for the overall community

Examples of unacceptable behavior by participants include:
Examples of unacceptable behavior include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
- The use of sexualized language or imagery, and sexual attention or advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities
## Enforcement Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at hi@strapi.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at hi@strapi.io. All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series of actions.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within the community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].

Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC].

For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at [https://www.contributor-covenant.org/translations][translations].

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
1 change: 1 addition & 0 deletions docs/.vuepress/config-backup.js
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,7 @@ const sidebar = {
},
['/developer-docs/latest/developer-resources/cli/CLI', 'Command Line Interface'],
['/developer-docs/latest/developer-resources/error-handling.md', 'Error handling'],
['/developer-docs/latest/developer-resources/database-migrations.md', 'Database migrations'],
{
title: 'Integrations',
path: '/developer-docs/latest/developer-resources/content-api/integrations.html',
Expand Down
1 change: 1 addition & 0 deletions docs/.vuepress/config/sidebar-developer.js
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,7 @@ const developer = [
},
['/developer-docs/latest/developer-resources/cli/CLI', 'Command Line Interface'],
['/developer-docs/latest/developer-resources/error-handling.md', 'Error handling'],
['/developer-docs/latest/developer-resources/database-migrations.md', 'Database migrations'],
{
title: 'Integrations',
path: '/developer-docs/latest/developer-resources/content-api/integrations.html',
Expand Down
2 changes: 1 addition & 1 deletion docs/.vuepress/theme/components/Sidebar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ export default {
a
display inline-block
.nav-links
position: absolute
position: relative
left: 0
top: 0
display none
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: Database migrations - Strapi Developer Docs
description: Strapi database migrations are ways to modify the database
canonicalUrl: https://docs.strapi.io/developer-docs/latest/development/backend-customization/database-migrations.html
---

# Database migrations

Database migrations exist to run one-time queries against the database, typically to modify the tables structure or the data when upgrading the Strapi application. These migrations are run automatically when the application starts and are executed before the automated schema migrations that Strapi also performs on boot.

::: callout 🚧 Experimental feature
Database migrations are experimental. This feature is still a work in progress and will continue to be updated and improved. In the meantime, feel free to ask for help on the [forum](https://forum.strapi.io/) or on the community [Discord](https://discord.strapi.io).
:::

## Understanding database migration files

Migrations are run using JavaScript migration files stored in `./database/migrations`.

Strapi automatically detects migration files and run them once at the next startup in alphabetical order. Every new file is executed once. Migrations are run before the database tables are synced with the content-types schemas.

::: warning
Currently Strapi does not support down migrations. This means that if you need to revert a migration, you will have to do it manually. It is planned to implement down migrations in the future but no timeline is currently available.
:::

Migration files should export the function `up()`, which is used when upgrading (e.g. adding a new table `my_new_table`).

The `up()` function runs in a database transaction which means if a query fails during the migration, the whole migration is cancelled, and no changes are applied to the database. If another transaction is created within the migration function, it will act as a nested transaction.

::: note
There is no CLI to manually execute the database migrations.
:::

## Creating a migration file

To create a migration file:

1. In the `./database/migrations` folder, create a new file named after the date and the name of the migration (e.g. `2022.05.10T00.00.00.name-of-my-migration.js`). Make sure that the file name follows this naming pattern, because the alphabetical order of the files defines the order in which the migrations have to run.

2. Copy and paste the following template in the previously created file:

```jsx
'use strict'

async function up(knex) {}

module.exports = { up };
```

3. Fill in the template by adding actual migration code inside the `up()` function.
`up()` receives a [Knex instance](https://knexjs.org/), already in a transaction state, that can be used to run the database queries.

::: details Example of migration file

```jsx
// path: ./database/migrations/2022.05.10T00.00.00.name-of-my-migration.js

module.exports = {
async up(knex) {
// You have full access to the Knex.js API with an already initialized connection to the database

// EXAMPLE: renaming a table
await knex.schema.renameTable('oldName', 'newName');

// EXAMPLE: renaming a column
await knex.schema.table('someTable', table => {
table.renameColumn('oldName', 'newName');
});

// EXAMPLE: updating data
await knex.from('someTable').update({ columnName: 'newValue' }).where({ columnName: 'oldValue' });
},
};
```
Original file line number Diff line number Diff line change
Expand Up @@ -396,5 +396,3 @@ strapi.service('plugin::pluginName.serviceName');
::: tip
To list all the available services, run `yarn strapi services:list`.
:::

:::
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ We are evaluating if we will natively add support for this in the future. We wil

## Why are my application's database and uploads resetting on PaaS?

If you used `--quickstart` to create your Strapi project, by default this uses the SQLite database. PaaS systems (Heroku, DigitalOcean Apps, Google App Engine, ect) file systems are typically [ephemeral](https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem) or read-only meaning that each time a dyno (container) is reset all filesystem changes are lost. And since both SQLite and local uploads are stored on the filesystem, any changes made to these since the last dyno reset will be deleted. Typically dynos are reset at least once a day, and in most cases multiple times per day or when new code is pushed to these services.
If you used `--quickstart` to create your Strapi project, by default this uses the SQLite database. PaaS systems (Heroku, DigitalOcean Apps, Google App Engine, etc.) file systems are typically [ephemeral](https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem) or read-only meaning that each time a dyno (container) is reset all filesystem changes are lost. And since both SQLite and local uploads are stored on the filesystem, any changes made to these since the last dyno reset will be deleted. Typically dynos are reset at least once a day, and in most cases multiple times per day or when new code is pushed to these services.

It is recommended you use a database add-on like Heroku's PostgreSQL. For file uploads, you will need to use one of the 3rd party providers such as Cloudinary or AWS S3.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Strapi provides many deployment options for your project or application. Your St
The following documentation covers how to develop locally with Strapi and deploy Strapi with several common hosting options.

::: callout ☁️ Strapi Cloud
Don't want to deploy Strapi by yourself? <a href="https://strapi.io/cloud" target="_blank" id="deployment-section-cloud-link">Join the cloud waitlist</a> to soon get access to a platform to easily deploy and host your project.
Don't want to deploy Strapi by yourself? <a href="https://strp.cc/3rywrsu" target="_blank" id="deployment-section-cloud-link">Join the cloud waitlist</a> to soon get access to a platform to easily deploy and host your project.
:::

::: strapi Community Guides
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ Strapi CLI (Command Line Interface) installation scripts are the fastest way to

A database is also required for any Strapi project. Strapi currently supports the following databases:

| Database | Minimum version |
| ---------- | --------------- |
| SQLite | 3 |
| PostgreSQL | 10 |
| MySQL | 5.7.8 |
| MariaDB | 10.2.7 |
| Database | Minimum | Recommended |
|------------|---------|-------------|
| MySQL | 5.7.8 | 8.0 |
| MariaDB | 10.3 | 10.6 |
| PostgreSQL | 11.0 | 14.0 |
| SQLite | 3 | 3 |

::: caution
Strapi v4 does not support MongoDB.
Expand Down
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "strapi-docs",
"version": "4.4.0",
"version": "4.4.2",
"main": "index.js",
"scripts": {
"dev": "yarn create:config-file && vuepress dev",
Expand Down